In meiner Webanwendung lese ich die Sitzungsvariablen wie folgt:
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Ich verstehe, warum es wichtig ist zu überprüfen, warum HttpContext.Current.Session ["MyVariable"] null ist (die Variable wurde möglicherweise noch nicht in der Sitzung gespeichert oder die Sitzung wurde aus verschiedenen Gründen zurückgesetzt), aber warum muss ich überprüfen wenn HttpContext.Current.Session
ist null?
Nach meinem Verständnis wird die Sitzung automatisch von ASP.NET erstellt, daher sollte HttpContext.Current.Session niemals null sein. Ist diese Annahme richtig? Wenn es null sein kann, heißt das, dass ich es auch überprüfen sollte, bevor ich etwas darin speichere:
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?
}