web-dev-qa-db-ja.com

このコンテキストではセッション状態は使用できません-Global.asax内

「このコンテキストでは使用できないセッション状態」エラーが発生します。

enter image description here

エラーは、Global.asaxファイル内のいくつかのメソッドのsenderパラメーターにネストされています。

  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Session_Start
  • アプリケーションエラー

エラーは、最初のページの読み込み(およびその後のすべてのページの読み込み)で発生します。

まったく新しい空のページWebForm1.aspxをプロジェクトに追加し、それをスタートページにしました。

空のページでは何も問題がないと思うでしょう。空のページをロードするとき、私が見る限り、私のコードは実行されません。しかし、まだセッション状態エラーが発生しています。

私のプロジェクトは完全にうまく機能しています。エラーページは表示されません。いつでも誤った動作はありません。

しかし、このセッションエラーが私の現在のプロジェクトの送信者パラメーターに表示されるという事実は私を悩ませます。このエラーはnot空白の新しいプロジェクトで生成されます。

現在のプロジェクトでこのエラーの原因は何でしょうか?

エラーが発生した場所を追跡するにはどうすればよいですか? 内部であるASP.NETコードにブレークポイントを設定できません。または私はできますか?

これが私のセッション構成です:

<pages enableSessionState="true" />
<sessionState mode="InProc" cookieless="false" timeout="20" />

更新:

まったく新しい空白のプロジェクトでも、送信者オブジェクトにこのエラーがあることがわかりました。これは、Application_BeginRequestメソッドとApplication_AuthenticateRequestメソッドに表示されます。しかし、他のプロジェクトのように、空白のプロジェクトはApplication_Errorイベントを生成していません。

13
Jay

サイクルの早い段階でセッション状態を要求しています。 Application_AcquireRequestStateで行う必要があります

25
Emmanuel N

「木が森に落ちて、誰もそれを聞いていない場合、それは音を立てますか?」

まだ利用できない時点では、Sessionプロパティを監視しないでください。

4
Igor