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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.3592 の関連記事表示

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

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

    C#を使っています。
    ユーザーIDが複数あります。情報ページが複数あり、そのそれぞれのページにオペレータが作業してる場合別オペレータは入れないようにしたいです。
    入った場合flgをたて出たら解除する方法だとウィンドウズをクローズされた場合や停電などの場合にflgがたったままで今後入れなくなります。
    このようなことはWEBアプリケーションを作成するなら必ず必要になることだと思うので、どのようにしたらいいのかを教えていただけますでしょうか
    クローズした後の処理を書くことが出来るならどうにかなるとおもいますがありますでしょうか?
    お願い致します。
親記事 /過去ログ1より / 関連記事表示
削除チェック/

■3593  Re[1]: C#でページアクセス重複
□投稿者/ 中博俊 -(2007/05/16(Wed) 19:55:52)
>
    普通はそういう作りにはしません。
    だから
    >このようなことはWEBアプリケーションを作成するなら必ず必要になることだと思うので

    にはならないのです。
記事No.3592 のレス /過去ログ1より / 関連記事表示
削除チェック/

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

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

    なので、「ブラウザからの要求が一定時間行われなければ、タイムアウトと看做す」ようにしてみるとか。
記事No.3592 のレス /過去ログ1より / 関連記事表示
削除チェック/

■3595  Re[2]: C#でページアクセス重複
□投稿者/ situmo -(2007/05/16(Wed) 20:26:20)
    返信ありがとうございます。

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

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

    一般的な方法?っていうのがあると思って質問しましたが、これについてどう動作させるのが一番いいのかを教えていただけますでしょうか。お願い致します。
記事No.3592 のレス /過去ログ1より / 関連記事表示
削除チェック/

■3596  Re[3]: C#でページアクセス重複
□投稿者/ 渋木宏明(ひどり) -(2007/05/16(Wed) 21:02:30)
>
    2007/05/16(Wed) 21:03:50 編集(投稿者)

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

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

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

    まぁ、仕様が見直せるようならその方がいいと思いますよ。
    基本的な仕組みに逆らうということは、どこかに無理が生じるってことですから。
記事No.3592 のレス /過去ログ1より / 関連記事表示
削除チェック/

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

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

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

    > 一般的な方法?っていうのがあると思って質問しましたが、
    「無理に実装せず、仕様を見直す」が一般的かと。
記事No.3592 のレス /過去ログ1より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -