Obtenez session de nom de cookie
-
29-09-2019 - |
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;
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