0
IRequiresSessionState
を実装しているASP.NETハンドラ(.ashx)を再利用することはできますか?それとも最初に使用したセッションとの関係を維持できますか?ASP.NET再利用可能ハンドラとセッション状態
IRequiresSessionState
を実装しているASP.NETハンドラ(.ashx)を再利用することはできますか?それとも最初に使用したセッションとの関係を維持できますか?ASP.NET再利用可能ハンドラとセッション状態
はい、再利用できます。
ProcessRequest
メソッドを呼び出すと、発信者はHttpContext
の内部でセッション状態を渡します。メソッドパラメータは、メソッド呼び出しのスコープ内でのみ使用でき、異なるスレッド上の複数の呼び出しでは使用できません。
最終的にはProcessRequest
実装に依存しますが、非常に珍しいことをしない限り(メンバ変数にセッションを格納し、後でメソッド呼び出し中に使用するなど)、各要求は正しいセッションを使用しますハンドラインスタンスを共有しています。
私は実際にはProcessRequestに渡されたHttpContextを使用しませんが、HttpContext.Current.Sessionを使用する別の場所で静的メソッドを呼び出すときにIRequiresSessionStateを実装する必要がありました。あなたが言ったことから、私のハンドラは再利用できると信じています。ありがとう。 –