Question

Est-il possible d'obtenir le nom de cookie de session au niveau de confiance moyen? Le code ci-dessous des œuvres en pleine confiance, mais renvoie une exception de sécurité au niveau de confiance moyen.

string sessionCookieName = ((SessionStateSection)WebConfigurationManager.GetSection("system.web/sessionState")).CookieName;
Était-ce utile?

La solution

Vous pouvez utiliser HTTP_COOKIE variable serveur de l'objet de demande, pour obtenir la chaîne de cookie qui a été inclus dans la demande.

string cookieString = Request.ServerVariables["HTTP_COOKIE"]

Si ce que vous voulez est d'obtenir le nom du cookie de session du web.config, pourquoi ne vous ajoutez pas une entrée simple dans le appsettings contenant le nom du cookie Session ?

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

    <sessionState cookieName="__SessionCookieName"  />        

Ensuite, vous pouvez lire la valeur de réglage web.config en utilisant le code suivant:

public static bool SessionCookieName
{
    get { return ConfigurationManager.AppSettings["SessionCookieName"]; }
} 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top