У своєму веб-додатку я роблю щось подібне для читання змінних сеансу:
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Я розумію, чому важливо перевірити, чому HttpContext.Current.Session ["MyVariable"] є нульовим (змінна, можливо, ще не зберігалася в сесії або сесія була скинута з різних причин), але чому мені потрібно перевірити якщо HttpContext.Current.Session
нуль?
Я розумію, що сеанс створюється автоматично ASP.NET, тому HttpContext.Current.Session ніколи не повинен бути нульовим. Чи правильне це припущення? Якщо він може бути нульовим, чи означає це, що я також повинен перевірити його, перш ніж щось зберігати в ньому:
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?
}