Nella mia applicazione web, ho fare qualcosa di simile per leggere le variabili di sessione:Cosa devo fare se la sessione ASP.NET corrente è nullo?
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
capisco perché è importante controllare il motivo per cui HttpContext.Current.Session [ "MyVariable"] è nullo (la variabile non potrebbe sono stati memorizzati nella Sessione ancora o la Sessione è stata ripristinata per vari motivi), ma perché devo verificare se HttpContext.Current.Session
è nullo?
La mia comprensione è che la sessione viene creata automaticamente da ASP.NET pertanto HttpContext.Current.Session non dovrebbe mai essere nullo. Questa supposizione è corretta? Se può essere nullo, significa che dovrei controllare anche prima di memorizzare qualcosa in esso:
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 avrà un comportamento spettacolo diverso, è possibile controllare su [Accesso sessione utilizzando ASP.NET Web API] (http://stackoverflow.com/questions/9594229/accessing-session-using -asp-net-web-api? answertab = voti # tab-top) –