1

私は認証でServiceStack.Netを使用しており、カスタムセッションを使用していますが、すべてうまく機能しています。

セッションがいつ終了したか(つまり、クライアントがドロップしたか)、またはセッションがいつ期限切れになるかを知るためのイベントまたはコールバック、オーバーライド、またはその他のメカニズムがあるかどうかを知りたいですか?

global.asax"Session_End"のようなもの

ありがとう。

4

1 に答える 1

1

いいえ、セッションのキャッシュに使用できるバッキングキャッシュプロバイダーのいずれかからセッションがいつ削除されるかを判断することは不可能であるため、セッション終了イベントはありません。

したがって、これに実際に依存しようとするべきではありません。既存のセッションが割り当てられていても、現在は存在しない場合に、有効期限が切れている(または実際には存在しない)かどうかを判断できます。例:

var hadSessionWithId = httpReq.GetSessionId();
var existingSession = Cache.Get<TUserSession>(SessionExtensions.SessionKey);
if (hadSessionWithId ?? existingSession == null) //Existing session invalidated.
于 2012-10-02T00:46:26.810 に答える