2010-11-30 155 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"]; } 
}