ユーザーがログインしたときのasp.net Webアプリケーションで、dbのisLoggedフラグをtrueに設定しました。
Session_End メソッドを使用して、セッションの有効期限が切れたとき (120 分後) に偽の isLogged フラグを設定します。
この方法を複数のケースでテストします。
- ユーザーがログアウト ボタンをクリックせずにブラウザを閉じると、タイムアウト時間が経過すると、session_end がジョブを実行します。
- ユーザーがデバイスをロックするか、デバイスがスタンバイ状態になると、同じことが起こります。
私の問題は、ログアウトボタンをクリックしないと「ログに記録されたまま」になるユーザーがいるということです。正直なところ、クライアント デバイスが Web サイトに接続されていないときに session_end が機能する理由がわかりません。Server が Session_end ジョブを実行したと思いましたが、これが本当なら、一部のユーザーが機能しなかったのはなぜですか?
その理由は、ブラウザーまたはデバイスのタイプ (モバイルかどうか) でしょうか?