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