В моем веб-приложении я делаю что-то вроде этого, чтобы прочитать переменные сеанса:
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Я понимаю, почему важно проверить, почему HttpContext.Current.Session [ "MyVariable" ] равно null (переменная, возможно, еще не была сохранена на сеансе или сеанс был reset по разным причинам), но почему мне нужно проверить, является ли 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?
}