2010-09-30 3 views
0

Quand je suis débogage d'une application dans ASP.NET, après environ ~ 5 minutes, je reçois un NullRefEx venant de Global.asax.cs concernant:NullReferenceException dans Global.asax lors du référencement Context.User.Identity dans Session_Start

protected void Session_Start(Object sender, EventArgs e) 
     { 
      WindowsIdentity identity = null; 
      identity = (WindowsIdentity)(Context.User.Identity); 
... 

Le contexte est nul à ce stade. Je suis un noob dans ASP.NET en ce qui concerne Global.asax.cs. Ce code a été écrit par un autre développeur.

EDIT: Ce est le code avec HttpContext ...

protected void Session_Start(Object sender, EventArgs e) 
    { 
    WindowsIdentity identity = null; 
    identity = (WindowsIdentity)(HttpContext.Current.User.Identity); 
+0

Si cela est En fonction du temps, avez-vous vérifié si le pool d'applications est en train de recycler? – NotMe

+0

Je pense que vous êtes sur la bonne voie. J'utilise la fonction de débogage du développeur intégré asp.net de Visual Studio (aucune idée de ce que cela s'appelle officiellement). Est-il possible de définir le temps de recyclage de cet outil de débogage? –

+0

Voici IIS 5.1. Je ne pense pas qu'il existe une option de recyclage, car il n'y a pas de pools d'applications nommés. Également vérifié les options de configuration de l'application et l'état de la session est activé avec un délai de 20 minutes. –

Répondre

0

Essayez:

identity = (WindowsIdentity)(HttpContext.Current.User.Identity); 

modifié pour être plus clair (je l'espère ...)

+0

Pouvez-vous préciser quelle est la différence ici s'il vous plaît? –

+0

MISE À JOUR: Le problème existe toujours avec HttpContext. –

+0

Je viens de l'essayer sur mon site et ça marche pour moi. Pouvez-vous poster votre code révisé? Je vais modifier ma réponse pour montrer plus clairement ce que je voulais dire. – Ray

Questions connexes