在我的 web 应用程序中,我做了一些类似的事情来读取会话变量:
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
我理解为什么检查 HttpContext 很重要。现在。Session [“ MyVariable”]为 null (变量可能还没有存储在 Session 中,或者 Session 由于各种原因已经重置) ,但是为什么我需要检查 HttpContext.Current.Session
是否为 null?
我的理解是,会话是由 ASP.NET 自动创建的,因此 HttpContext。现在。会话不应该为空。这个假设正确吗?如果它可以为空,这是否意味着在存储某些内容之前,我也应该检查它:
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?
}