W mojej aplikacji internetowej robię coś takiego, aby odczytać zmienne sesji:
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Rozumiem, dlaczego ważne jest, aby sprawdzić, dlaczego HttpContext.Current.Session ["MyVariable"] ma wartość null (zmienna mogła nie zostać jeszcze zapisana w sesji lub sesja została zresetowana z różnych powodów), ale dlaczego muszę to sprawdzić jeśli HttpContext.Current.Session
jest null?
Rozumiem, że sesja jest tworzona automatycznie przez ASP.NET, dlatego HttpContext.Current.Session nigdy nie powinna mieć wartości null. Czy to założenie jest słuszne? Jeśli może być zerowe, czy to znaczy, że powinienem to sprawdzić przed zapisaniem czegoś w nim:
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?
}