1

クラスインスタンスであるセッション変数があります。私はそれを宣言しましたGlobal.asax

void Session_Start(object sender, EventArgs e)
{
    // Code that runs when a new session is started
    Session["SiteVariables"] = new SiteVariables();

}

ここで、ソリューションのいくつかの場所でこの変数のメンバーの一部を参照する必要がありますが、私が理解している限り、次のようにする必要があります。

SiteVariables objSiteVariables = (SiteVariables)Session["SiteVariables"];
Label1.Text = objSiteVariables.permiss;

たとえば、静的変数などをどこかに設定するなど、私ができることはあるのでしょうか。

Label1.Text = objSiteVariables.permiss;

私のプロジェクトのどこでも。

ありがとうございました!

4

2 に答える 2

3

helper独自の型/メソッドを作成できます。

public class Util
{
   public static SiteVariables Variables
   {
      get
       {
           return HttpContext.Current.Session["SiteVariables"] as SiteVariables;
        }
    }
}

そして値を割り当てる

Label1.Text=Util.Variables.permiss;
于 2012-07-03T10:01:07.247 に答える
0

セッションのラッパーを作成できます。これにより、次のようなタイプ セーフなアクセスが可能になります。

public class SessionHandler
{
    public static SessionHandler CurrentSession
    {
        get
        {
            SessionHandler session =
              (SessionHandler)HttpContext.Current.Session["SessionId"];
            if (session == null)
            {
                session = new SessionHandler();
                HttpContext.Current.Session["SessionId"] = session;
            }
            return session;
        }
    }

    public SiteVariables SiteVariables { get; set; }
}

次のように使用できます。

// assign
SessionHandler.CurrentSession.SiteVariables = new SiteVariables();

// retrieve
SiteVariables objSiteVariables = SessionHandler.CurrentSession.SiteVariables;

SessionHandlerこのようにして、クラスにプロパティを追加するだけでセッションを追加できます。

于 2012-07-03T10:04:26.053 に答える