私のGlobal.asaxに、セッションにいくつかのキー/値データが含まれているかどうかをチェックしたいと思います。できるだけ早い時期(とメソッド名)がいつこれをチェックするのか分かりません。最も早い時期に、私はglobal.asaxのセッションデータにアクセスできますか?
感謝:)
私のGlobal.asaxに、セッションにいくつかのキー/値データが含まれているかどうかをチェックしたいと思います。できるだけ早い時期(とメソッド名)がいつこれをチェックするのか分かりません。最も早い時期に、私はglobal.asaxのセッションデータにアクセスできますか?
感謝:)
私は常にApplication_AcquireRequestState
が現在のセッションにアクセスできるGlobal.asaxの最初のイベントだと信じていました。間違いなくApplication_BeginRequest
です。
これは要求がASP.Netパイプラインに適合している場合、MVC3と4とIIS7と8でセッションを利用できるようになります。例えば、要求がコントローラまたはウェブページに対するものである場合、セッションは利用可能である。しかし、画像、CSSファイルなどの場合、ほとんどの設定でSessionは利用できず、nullを返しません。アクセスしようとするとHttpExceptionが発生します。 –
私はこの答えが非常に古いことを知っていますが、私は同じ答えを探しました。私はいくつかの追加情報を見つけました: Application_AcquireRequestStateは、要求がハンドラによって実行される前にセッションを取得するための適切な場所です。もしあなたが知りたいのであれば、セッションが利用可能な場合は、Context.Sessionにnullをチェックしてください。例外が発生することはありません。わかっていれば、変数Sessionを使用してアクセスできるセッションがあります。 – zreptil
link textによると、あなたはセッションオブジェクトにアクセスすることができますGlobal.asaxの最古のイベントがGlobal.asaxのはSESSION_STARTイベントを発生
あなたはそれが(最初のイベントがですSession__Start:解雇するときに、新しいですユーザーはアプリケーションWebサイトを訪問します。
Session__End:ユーザーのセッションがタイムアウト、または彼らはアプリケーションのWebサイトに残して終了したときに発生し
HttpApplication
オブジェクトの上に発射されるよう
BeginRequest
(
http://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest.aspx)を使用する必要があり
これらは、誰かがサイトを訪れたときにのみ起動され、毎回ではなくリクエスト –
Global.asaxが継承する)。
ここでは、ASP.NETアプリケーションライフサイクルの詳細については、http://msdn.microsoft.com/en-us/library/ms178473.aspx(IIS 5の場合は& IIS 6)を参照してください。
HttpApplicationオブジェクトで最初に_event_が発生する可能性がありますが、それまでにセッションを逆シリアル化していますか? –
ライフサイクルによると、HttpSessionStateは、 –
のプロパティであり、明らかにこの回答はhttp://stackoverflow.com/questions/1704940/when-is-the-earliest-i-can-accessに従って正しくありません。 -session-in-the-asp-net-mvc-page-lifecycle – andy
MSDNは、Application_PostAcquireRequestStateイベント中にセッション状態が取得されたことを思い出されます。私はそれがLife Cycle Overviewページで再表示されたことを願っています。
最新のセッション状態は、次のイベントの間にSessionStateModuleによって保存されるため、Application_PostRequestHandlerExecuteにあります。Application_ReleaseRequestState。
AcquireRequestStateも利用可能です。 PostAcquireRequestStateを使用しても、Sessionが画像、CSSファイルなどの要求に対する例外をスローすることはありません。 –
関連する/並べ替え:http://stackoverflow.com/questions/5977285/set-session-variable-in-application-beginrequest –