В моем веб-приложение, я сделать что-то вроде этого, чтобы прочитать переменные сессии:Что делать, если текущий сеанс ASP.NET равен NULL?
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?
}
ASP.NET WebAPI будет иметь поведение с различным, вы можете проверить его на [Доступ к сеансу с помощью ASP.NET Web API] (http://stackoverflow.com/questions/9594229/accessing-session-using -asp-net-web-api? answertab = votes # tab-top) –