vérifier si la variable de session est null renvoie nullreferenceexception
J'ai une Liste d'objets stockés dans une variable de session. Mais quand j'ai assurez-vous que la variable de session n'est pas null, il me donne un NullReferenceException: Object reference not set to an instance of an object
.
if(Session["object"] == null) //error occurs here
{
Session["object"] = GetObject();
return Session["object"] as List<object>;
}
else
{
return Session["object"] as List<object>;
}
Comment puis-je vérifier si la Session est null?
edit: j'ai aussi essayé
if(Session["object"] != null)
Avez-vous vérifié que
Êtes-vous sûr que votre erreur se produit à l'intérieur de la ligne avec votre si-état?
Quel est l'objet qui est
Lorsque vous avez ce code ? est-il dans un code-behind de la page web ? ou fait-il partie de service web ? ??
Mettre un point d'arrêt sur la SI ad regardez la session table des matières. Si ses null et que vous ne vous attendez pas à être, puis de débogage à partir de là.
Session
n'est pas nulle?Êtes-vous sûr que votre erreur se produit à l'intérieur de la ligne avec votre si-état?
Quel est l'objet qui est
null
? D'après la description, il semble que Session
lui-même est null
, ce qui signifierait qu'il y a est aucun Session
dans ce contexte.Lorsque vous avez ce code ? est-il dans un code-behind de la page web ? ou fait-il partie de service web ? ??
Mettre un point d'arrêt sur la SI ad regardez la session table des matières. Si ses null et que vous ne vous attendez pas à être, puis de débogage à partir de là.
OriginalL'auteur Mike | 2014-01-29
Vous devez vous connecter pour publier un commentaire.
Noter que le code dans votre édition est pas vérifier que
Session
n'est pas nulle. Si la valeur est nulle, l'expressionSession["object"]
sera toujours la cause de l'erreur, car c'est en recherchant la session de l'instance pour "l'objet" clé - si vous pensez logiquement, vous êtes à la recherche d'une clé dans un uninstantiated objet, d'où la référence nulle exception. Par conséquent, vous devez vérifierSession
a été instancié avant de vérifier siSession["object"]
est nulle:OriginalL'auteur nmclean
avez-vous vérifier votre méthode GetObject ()...elle peut renvoyer null...
OriginalL'auteur Amit Tiwari
Avez-vous vérifié si
Session != null
? Dans votre exemple, les deuxthis.Session
etthis.Session["Key"]
pouvez retournernull
, mais vous avez coché seulement le dernier. Prendre en compte la possibilité que laSession
lui-même peut ne pas exister, de sorte que vous ne pouvez pas obtenir les données, mais aussi ne peut pas écrire.Définir le "je" et "ne semble pas fonctionner." Selon votre description,
Session
lui-même semble êtrenull
. Qu'avez-vous essayer? Comment se fait-il pas de travail? Ce que vous tentez d'accomplir ici?par la façon dont cela devrait être un commentaire n'est pas une réponse
Vérifier si la Session est nulle est au moins une partie de la solution. J'ai eu ce même problème. Session peut être nulle en fonction de config/settings de votre système, ou si vous êtes profondément à l'intérieur de certaines module ne prend pas en charge la Session, mais l'espace n'est encore disponible.
OriginalL'auteur Willem Duncan
Essayez de vérifier
if (!Session.ContainsKey("object"))
après vérificationif (Session != null)
. Si ces contrôles à la fois passe, puisSession["object"]
doit être fine.OriginalL'auteur Scott Earle