是否可以获得中等信任级别的会话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"]; }
}