Dans mon application web, je peux faire quelque chose comme ça pour lire les variables de session:Que faire si la session ASP.NET actuelle est null?
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Je comprends pourquoi il est important de vérifier pourquoi HttpContext.Current.Session [ « MyVariable »] est nulle (la variable peut-être pas ont été stockés dans la session ou la session a été réinitialisée pour diverses raisons), mais pourquoi dois-je vérifier si HttpContext.Current.Session
est nul?
Ma compréhension est que la session est créée automatiquement par ASP.NET donc HttpContext.Current.Session ne devrait jamais être nulle. Cette hypothèse est-elle correcte? Si elle peut être nulle, cela signifie que je dois aussi vérifier avant de le ranger quelque chose dans ce:
if (HttpContext.Current.Session != null)
{
HttpContext.Current.Session["MyVariable"]="Test";
}
else
{
// What should be done in this case (if session is null)?
// Is it possible to force the session to be created if it doesn't exist?
}
ASP.NET WebAPI aura un comportement diferent, vous pouvez le vérifier sur [Accès à la session Utilisation de l'API Web ASP.NET] (http://stackoverflow.com/questions/9594229/accessing-session-using -asp-net-web-api? answertab = votes # tab-top) –