web-dev-qa-db-fra.com

Comment vérifier si la valeur de session est nulle ou si la clé de session n'existe pas dans asp.net mvc - 5

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

8
Unbreakable
if(Session["TenantSessionId"] != null)
{
  // cast it and use it
  // The code
}
12
Ahmed Ragheb

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
}
2
Rahul Hendawe

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.

1
Chris Pratt

Vérifiez si la session est vide/nulle ou non

if (! string.IsNullOrEmpty (Session ["TenantSessionId"] as string)) {

// écrire ici du code pour la logique

}

0
Pergin Sheni

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
}
0
vishpatel73