0

ユーザーがログインしたときのasp.net Webアプリケーションで、dbのisLoggedフラグをtrueに設定しました。

Session_End メソッドを使用して、セッションの有効期限が切れたとき (120 分後) に偽の isLogged フラグを設定します。

この方法を複数のケースでテストします。

  • ユーザーがログアウト ボタンをクリックせずにブラウザを閉じると、タイムアウト時間が経過すると、session_end がジョブを実行します。
  • ユーザーがデバイスをロックするか、デバイスがスタンバイ状態になると、同じことが起こります。

私の問題は、ログアウトボタンをクリックしないと「ログに記録されたまま」になるユーザーがいるということです。正直なところ、クライアント デバイスが Web サイトに接続されていないときに session_end が機能する理由がわかりません。Server が Session_end ジョブを実行したと思いましたが、これが本当なら、一部のユーザーが機能しなかったのはなぜですか?

その理由は、ブラウザーまたはデバイスのタイプ (モバイルかどうか) でしょうか?

4

1 に答える 1

0

セッションのスライド有効期限を有効にし、ブラウザーがいくつかの永続的な AJAX 要求を行う場合、ブラウザー ウィンドウを開いたままにしておくだけで、セッションを永久に存続させることができます。セッション終了イベントがどのように機能するかについては、次のとおりです。

Session_OnEnd サブルーチンは、Abandon メソッドが呼び出されたとき、またはセッションが期限切れになったときに実行されます。セッションに対する要求が行われずに Timeout プロパティで指定された分数が経過すると、セッションは期限切れになります。

于 2015-12-30T10:14:41.063 に答える