1

重複の可能性:
Global.asax で HttpContext.Current.Session が null になるのはなぜですか?

MVC3 プロジェクト (Razor) を開発しています。
一部のコントローラー/アクションでセッションに変数を追加しました (ユーザーごとに異なります)。この変数にメソッド (global.asax)
でアクセスしたい。Application_AuthenticateRequest

この例外が発生しました:

このコンテキストでは、セッション状態は利用できません。

サンプルプロジェクト

4

2 に答える 2

0

開始点については、 https: //stackoverflow.com/a/4185982/717732を参照してください

要点は、Sessionこの時点では利用できず、単に利用できないということです。「時間」とは、「このイベントが発生したとき」を意味します。

たとえば、devproconnections.com / article /aspnet2/でライフサイクルを読んでください。

Sessionオブジェクトは、かなり後でAcquireRequestStateイベント中に準備されます。セッションステートバッグにアクセスして調査できるのは、これが初めてです。

于 2012-09-01T13:27:52.823 に答える
0

ありがとうケツァルコアトル、これは本当です。

      try
        {                
            if (Session != null)
            {
                if (Session["mys"] != null)
                {
                    //Error
                    string s = HttpContext.Current.Session["mys"].ToString();
                }
                else
                {
                    Response.Redirect("~/Home/Index");
                    Response.End();
                }
            }
        }
        catch {
            Response.Redirect("~/Home/Index");
            Response.End();
        }
于 2012-09-01T13:39:02.207 に答える