在我的Web应用程序中,我执行以下操作来读取会话变量:
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
我了解检查HttpContext.Current.Session [“ MyVariable”]为什么为null(变量可能尚未存储在Session中或由于各种原因而已重置Session)中为什么很重要,但是为什么我需要检查如果HttpContext.Current.Session
为空?
我的理解是该会话是由ASP.NET自动创建的,因此HttpContext.Current.Session永远不应为null。这个假设正确吗?如果它可以为null,是否表示我还应该在存储一些内容之前对其进行检查:
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?
}