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"]

如果您想要从 web.config 获取会话 cookie 名称,为什么不在appSettings部分添加一个包含会话 cookie 名称的简单条目?

    <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 回答