J'ai une application ASP.Net MVC - 5 et je veux vérifier si la valeur de session est nulle avant d'y accéder. Mais je ne suis pas en mesure de le faire.
//Set
System.Web.HttpContext.Current.Session["TenantSessionId"] = user.SessionID;
// Access
int TenantSessionId = (int)System.Web.HttpContext.Current.Session["TenantSessionId"];
J'ai essayé de nombreuses solutions de SO
Tentative
if (!string.IsNullOrEmpty(Session["TenantSessionId"] as string))
{
//The code
}
Veuillez me guider.
Erreur: référence NULL
if(Session["TenantSessionId"] != null)
{
// cast it and use it
// The code
}
Comme []
est comme Indexer
(comme une méthode sur la classe) et dans ce cas, session
est null
et vous ne pouvez pas effectuer Indexation dessus.
Essaye ça..
if(Session != null && Session["TenantSessionId"] != null)
{
// code
}
L'exception NullReferenceException provient de la tentative de transtyper une valeur nulle. En général, il vaut mieux utiliser as
au lieu d'une distribution directe:
var tenantSessionId = Session["TenantSessionId"] as int?;
Cela ne soulèvera jamais d'exception. La valeur de tenantSessionId
sera simplement nulle si la variable de session n'est pas définie. Si vous avez une valeur par défaut, vous pouvez utiliser l'opérateur de fusion nul pour vous assurer qu'il y a toujours certains valeur:
var tenantSessionId = Session["TenantSessionId"] as int? ?? defaultValue;
Ensuite, ce sera soit la valeur de la session, soit la valeur par défaut, c'est-à-dire jamais nulle.
Vous pouvez également vérifier simplement si la variable de session est directement nulle:
if (Session["TenantSessionId"] != null)
{
// do something with session variable
}
Cependant, vous devrez confiner tout votre travail avec la variable de session pour être à l'intérieur de ce conditionnel.
Vérifiez si la session est vide/nulle ou non
if (! string.IsNullOrEmpty (Session ["TenantSessionId"] as string)) {
// écrire ici du code pour la logique
}
Vérifiez si la session est vide/nulle ou non dans la version MVC C # inférieure à 5.
if (!string.IsNullOrEmpty(Session["TenantSessionId"] as string))
{
//cast it and use it
//business logic
}
Vérifiez si la session est vide/nulle ou non dans la version C # MVC supérieure à 5.
if(Session["TenantSessionId"] != null)
{
//cast it and use it
//business logic
}