2010-10-05 10 views
0

J'utilise jQuery pour obtenir quelques valeurs et les envoyer à un Webservice. Sur ce WebService je vérifie si une session est null mais je reçois la référence Null à cette session et il obtient l'erreur (je la vois sur la console javascript, sur le débogage je vois juste l'erreur sur la sortie type 'System.NullReferenceException' a eu lieu dans PromotorDeSaude.DLL »Vérifier si la session est nulle renvoie une erreur

Je vérifie si la session est nulle comme ceci:.?

if (HttpContext.Current.Session["encomenda"] != null) 

que je fais quelque chose de mal

Répondre

1

Pour accéder à la session dans une méthode de service Web, ajoutez l'attribut

[WebMethod(EnableSession = true)] 

à la méthode. Voir http://msdn.microsoft.com/en-us/library/system.web.services.webmethodattribute.enablesession.aspx pour plus d'informations.

+0

Merci beaucoup Andreas. En fait je ne sais presque rien sur WebMethods, j'ai commencé à les utiliser il y a 2 jours parce que JSON. Je suppose qu'il est préférable de lire un peu plus sur WebMethods. Merci encore;) –

+0

Vous êtes les bienvenus, j'ai fait exactement la même erreur moi-même :-). Si ma réponse résout votre problème, veuillez marquer comme réponse. –

+0

Je sais, j'attends les 3 minutes pour l'accepter (règle de stackoverlow je devine) –

1

cela suggère que HttpContext.Current ou HttpContext.Current.Session peut être nul - ce qui arriverait si vous courez sur un autre thread, par exemple.

Je vous suggère de vous connecter chaque bit de l'expression pour trouver quel bit est nul, et travailler à partir de là.

+0

Je viens d'essayer de créer une nouvelle session à travers "HttpContext.Current.Session [" encomenda "] =" a ";" mais je reçois une référence nulle aussi. Est-ce la bonne façon de créer une session, ou devrait-elle être créée dans global.asax quand l'application commence par exemple? –

+0

@ Guilherme, avez-vous essayé la suggestion de Jon? Il indiquait que * 'HttpContext.Current' * lui-même pourrait être nul. Avez-vous vérifié pour cela? De plus, vous ne "créez pas une session" avec cette ligne. Vous affectez la valeur '" a "' à la session sous le nom "encomenda". –

+0

C'était mon erreur, car je n'activais pas les sessions dans WebMethod. –

Questions connexes