Nella mia applicazione web, faccio qualcosa del genere per leggere le variabili di sessione:
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Capisco perché è importante controllare perché HttpContext.Current.Session ["MyVariable"] è nullo (la variabile potrebbe non essere stata ancora memorizzata nella sessione o la sessione è stata reimpostata per vari motivi), ma perché devo controllare se HttpContext.Current.Sessionè nullo?
La mia comprensione è che la sessione viene creata automaticamente da ASP.NET quindi HttpContext.Current.Session non dovrebbe mai essere nullo. Questa ipotesi è corretta? Se può essere nullo, significa che dovrei anche controllarlo prima di memorizzare qualcosa al suo interno:
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?
}