获取会话cookie名称

时间:2010-11-30 05:19:44

标签: asp.net session sessionid session-cookies

是否可以在中等信任级别获取会话cookie名称?下面的代码完全信任,但会在中等信任级别引发安全异常。

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

1 个答案:

答案 0 :(得分:1)

您可以使用Request对象中的 HTTP_COOKIE服务器变量来获取请求中包含的Cookie字符串。

string cookieString = Request.ServerVariables["HTTP_COOKIE"]

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

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

    <sessionState cookieName="__SessionCookieName"  />        

然后,您可以使用以下代码读取web.config设置值:

public static bool SessionCookieName
{
    get { return ConfigurationManager.AppSettings["SessionCookieName"]; }
}