2011-09-02 5 views
3

Est-ce correct de dire que lorsque l'objet Httpcontext est null - donc l'iis est en panne?Httpcontext est null?

Je sais que lorsque la première demande à iis (asp.net), le gestionnaire d'application crée

enviroment: Application de domaine.

à l'intérieur il ya Application Runtime.

Et à l'intérieur il y a des blocs de (s'il y a plus de 1 application sur le serveur)

HttpApplication avec chacun a HttpContext qui gestionnaire de réponse et demande.

enter image description here

Alors qu'est-ce que cela signifie quand je suis dans asp.net HttpContext est nulle?

+1

Si vous créez un autre thread pendant la requête, pour faire une partie du travail, vous n'obtiendrez pas un HttpContext nul. HttpContext est local au thread qui traite chaque requête spécifique. –

Répondre

6

Je ne pense pas que vous pouvez exécuter une application ASP.NET ayant IIS vers le bas, juste en conception :)

si vous avez un morceau de code où le HttpContext.Current est nul, vous n'êtes probablement pas en cours d'exécution dans le serveur web mais d'une autre manière, par exemple nous avons parfois des bibliothèques de classes conçues pour être exécutées dans l'application web puis quelqu'un fait référence à ces assemblées directement depuis un service Windows, une application console ou le projet de test unitaire. pas HttpContext!

services Web, si servi à partir d'IIS doit avoir le contexte, s'il est directement appelé avec référence d'assembly et non référence Web, ne peut atteindre aucun HttpContext.

montrez votre code défaillant et décrivez où et comment vous l'utilisez et nous verrons pourquoi votre contexte est null dans ce cas.