4

中程度の信頼レベルでセッションCookie名を取得することは可能ですか?以下のコードは完全な信頼で機能しますが、中程度の信頼レベルでセキュリティ例外をスローします。

string sessionCookieName = ((SessionStateSection)WebConfigurationManager.GetSection("system.web/sessionState")).CookieName;
4

1 に答える 1

1

Request オブジェクトからHTTP_COOKIE サーバー変数を使用して、要求に含まれていた Cookie 文字列を取得できます。

string cookieString = Request.ServerVariables["HTTP_COOKIE"]

セッション Cookie 名を web.config から取得したい場合は、セッション Cookie 名を含む単純なエントリを appSettings セクションに追加してみませか?

    <appSettings>       
        <add key="SessionCookieName" value="__SessionCookieName"/>
    <appSetting>

    <sessionState cookieName="__SessionCookieName"  />        

次に、次のコードを使用して web.config 設定値を読み取ることができます。

public static bool SessionCookieName
{
    get { return ConfigurationManager.AppSettings["SessionCookieName"]; }
} 
于 2010-11-30T05:57:02.777 に答える