2010-11-30 76 views
3

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

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

为什么需要这个? – 2010-11-30 05:22:46

+0

我使用java applet,并且需要将会话名称和会话ID传递给它,以便在applet向Web服务器发出请求时保留会话值。 – 2010-11-30 05:47:04

回答

1

您可以使用HTTP_COOKIE服务器变量从Request对象,以获得所包含的请求的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"]; } 
}