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

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

最佳答案

您可以使用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"]; }
}

08-29 01:08