ユーザーのセッションが期限切れになったときにデータベース処理を実行したいのですが、セッションが期限切れになったのはどのユーザーかを知る必要があります。
ログイン時にセッションの有効期限が切れたときにアクセスできるように単純に設定することを検討していSession["CurrentUserId"]
ましたが、セッションから直接 HttpContext.User.Identity を取得する方法があるのではないかと考えましたか?
ユーザーのセッションが期限切れになったときにデータベース処理を実行したいのですが、セッションが期限切れになったのはどのユーザーかを知る必要があります。
ログイン時にセッションの有効期限が切れたときにアクセスできるように単純に設定することを検討していSession["CurrentUserId"]
ましたが、セッションから直接 HttpContext.User.Identity を取得する方法があるのではないかと考えましたか?
MSDN のクラス定義を見ると、セッションのプロパティ/メンバーから直接アクセスできるようには見えません。
ただし、これらは両方とも同じオブジェクトのプロパティであり、この場合は現在の HttpContext になります。したがって、セッションが 1 つのコンテキスト (理解: 1 つの http 要求) で終了すると、そのコンテキストの現在のユーザーは、探しているユーザーと同じになります。
それ以外の場合は、キャッシュに保存されたハッシュテーブルを常に使用できます。キーはSession.SessionId
ユーザー ID で、値はユーザー ID です。