C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: C#でページアクセス重複


(過去ログ 1 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■3592 / inTopicNo.1)  C#でページアクセス重複
  
□投稿者/ situmo (1回)-(2007/05/16(Wed) 19:38:28)

分類:[C# (ASP.NET)] 

C#を使っています。
ユーザーIDが複数あります。情報ページが複数あり、そのそれぞれのページにオペレータが作業してる場合別オペレータは入れないようにしたいです。
入った場合flgをたて出たら解除する方法だとウィンドウズをクローズされた場合や停電などの場合にflgがたったままで今後入れなくなります。
このようなことはWEBアプリケーションを作成するなら必ず必要になることだと思うので、どのようにしたらいいのかを教えていただけますでしょうか
クローズした後の処理を書くことが出来るならどうにかなるとおもいますがありますでしょうか?
お願い致します。
引用返信 編集キー/
■3593 / inTopicNo.2)  Re[1]: C#でページアクセス重複
□投稿者/ 中博俊 (1066回)-(2007/05/16(Wed) 19:55:52)
中博俊 さんの Web サイト
普通はそういう作りにはしません。
だから
>このようなことはWEBアプリケーションを作成するなら必ず必要になることだと思うので

にはならないのです。
引用返信 編集キー/
■3594 / inTopicNo.3)  Re[1]: C#でページアクセス重複
□投稿者/ 魔界の仮面弁士 (279回)-(2007/05/16(Wed) 20:19:29)
No3592 (situmo さん) に返信
> このようなことはWEBアプリケーションを作成するなら必ず必要になることだと思うので、
必ず必要かどうかは別として、同時処理禁止とか、同時ログオン禁止な仕組みが実装されているシステムは時折目にしますね。インターネットバンキングとか。

> クローズした後の処理を書くことが出来るならどうにかなるとおもいますがありますでしょうか?
ありません。もしあったとしても、もうひとつの条件である「停電などの場合」に対応できませんし。

なので、「ブラウザからの要求が一定時間行われなければ、タイムアウトと看做す」ようにしてみるとか。
引用返信 編集キー/
■3595 / inTopicNo.4)  Re[2]: C#でページアクセス重複
□投稿者/ situmo (2回)-(2007/05/16(Wed) 20:26:20)
返信ありがとうございます。

必ずはないですね。すいません。

テーブルを作成しページに入った時間など入れて指定時間過ぎていた場合と、flgが解除されていた場合に入れるようにを考えました。
停電などの場合はそれでいいのですが、ブラウザを閉じられた後だと、その時間たたないと中に入れなくなります。
かなり頻繁に動かしているので、中身を確認ぐらいでみたらすぐ閉じるというのがかなり生じます。
なので指定時間だけでは問題が出てしまいます。
だれかがページにいる場合は完全にそのページに入れないようにしたいです。ボタンをつかえないようにとかではなくしたいです。いないときは即座に入れるように
したいので指定時間待つのはあまりしたくありません。

一般的な方法?っていうのがあると思って質問しましたが、これについてどう動作させるのが一番いいのかを教えていただけますでしょうか。お願い致します。

引用返信 編集キー/
■3596 / inTopicNo.5)  Re[3]: C#でページアクセス重複
□投稿者/ 渋木宏明(ひどり) (206回)-(2007/05/16(Wed) 21:02:30)
渋木宏明(ひどり) さんの Web サイト
2007/05/16(Wed) 21:03:50 編集(投稿者)

> 一般的な方法?っていうのがあると思って質問しましたが、これについてどう動作させるのが一番いいのかを教えていただけますでしょうか。お願い致します。

基本的にはどうしようもありません。
ASP.NET 云々の前に "Web" の仕組みそのものが原則セッションレスなので、そういう用途に向かないんです。

それでもなお、どうしてもってことなら AJAX でも使ってクライアントサイドからサーバの方にハートビートを投げてもらう、とか無理くりな方法しかありません。

まぁ、仕様が見直せるようならその方がいいと思いますよ。
基本的な仕組みに逆らうということは、どこかに無理が生じるってことですから。

引用返信 編集キー/
■3597 / inTopicNo.6)  Re[3]: C#でページアクセス重複
□投稿者/ 魔界の仮面弁士 (280回)-(2007/05/16(Wed) 21:25:56)
No3595 (situmo さん) に返信
> かなり頻繁に動かしているので、中身を確認ぐらいでみたらすぐ閉じるというのがかなり生じます。
二重ログオン禁止なページだと、「ログアウト」ボタンを設けておき、それを使わずに閉じると、
タイムアウトまでの一定時間――たとえば15分間――閉め出されるという制限を持った実装を目にします。

で、ログアウト忘れに備え、別フレームに onunload イベントを使った自動ログアウト機能を備えたりとか。

タイムアウト時間を短くしたいなら、heartbeat チェックのために、タイムアウトの時間をもっと短くしておき(たとえば 20秒)、それよりさらに短い間隔(たとえば 10秒)で、サーバに「在席確認」の通知を非同期で投げるとか。

> 一般的な方法?っていうのがあると思って質問しましたが、
「無理に実装せず、仕様を見直す」が一般的かと。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -