2008-11-26 11 views
2

J'ai une classe Application dont hérite global.asax. La classe a cette méthode:Quelle est la classe System.Web.httpApplicationFactory? Je le vois dans ma pile d'appels, mais je ne le trouve pas dans le framework

protected void Application_Start(object sender, EventArgs e) 
{ 
    // ... 
} 

Dans ma compréhension cela est essentiellement un gestionnaire d'événements qui est automatiquement ajouté à un événement (basé sur le nom de la méthode [*]). J'ai essayé de savoir exactement quel événement, donc je mets un point d'arrêt dans la méthode et vérifié la pile d'appel:

FOO.DLL Foo.Application.Application_Start (objet expéditeur = { System.Web.HttpApplicationFactory }, System.EventArgs e = { System.EventArgs})

l'expéditeur est System.Web.HttpApplicationFactory, mais je ne peux pas trouver cette classe en utilisant l'Explorateur d'objets dans Visual studio 2008 ou sur le site Web de la bibliothèque MSDN.

Où puis-je trouver plus d'informations sur ce cours?

Merci!


[*] comparer à la méthode Application_BeginRequest(object sender, EventArgs e), qui est ajouté en tant que gestionnaire à l'événement BeginRequest de la classe System.Web.HttpApplication.

Répondre

5

HttpApplicationFactory est une classe interne définie dans System.Web.dll. Vous pouvez vérifier dans. NET Reflector si vous êtes intéressé.

Interne signifie qu'il n'est normalement pas visible en dehors de la DLL où il est défini, donc vous ne pouvez pas l'utiliser dans votre propre code.

+0

y a-t-il un emballage que je peux utiliser pour utiliser Httpapplicationfactory? –

+0

Nopes, c'est interne, donc vous ne pouvez pas le sous-classer. Mais vous pouvez voir la source en ligne: https://github.com/Microsoft/referencesource/blob/master/System.Web/HttpApplicationFactory.cs. –

2

Comme dit Rune, HttpApplicationFactory est une classe interne définie dans System.Web.dll.

Ce qu'il fait est de créer l'application et de la démarrer, en gérant essentiellement l'exécution de votre application Web.