En mi aplicación web, hago algo como esto para leer las variables de sesión:
if (HttpContext.Current.Session != null && HttpContext.Current.Session["MyVariable"] != null)
{
string myVariable= (string)HttpContext.Current.Session["MyVariable"];
}
Entiendo por qué es importante verificar por qué HttpContext.Current.Session ["MyVariable"] es nulo (es posible que la variable aún no se haya almacenado en la sesión o que la sesión se haya restablecido por varias razones), pero ¿por qué debo verificarla? si HttpContext.Current.Session
es nulo?
Entiendo que la sesión es creada automáticamente por ASP.NET, por lo tanto, HttpContext.Current.Session nunca debe ser nulo. ¿Es correcta esta suposición? Si puede ser nulo, ¿significa que también debería verificarlo antes de almacenar algo en él?
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?
}