Un livre a montré un exemple où (en utilisant IIS7) le module suivant a été configuré de telle sorte qu'il serait utilisé par n'importe quelle application web (même par des applications non asp.net) fonctionnant sur un site web. Mais:Instance HttpHandler et objet HttpApplication - ce dernier ...?
si ce module est invoqué pour l'application non-asp.net, alors comment ou pourquoi serait HttpApplication objet encore être créé, car les applications ne fonctionnent pas non ASP.NET dans le contexte du CLR (et donc runtime Asp.Net ne fonctionnera pas non plus)?
objet est
HttpApplication
En supposant également créé pour les applications non ASP.NET, pourquoi alors le code à l'intérieur du gestionnaire d'événements Init() doivent vérifier siHttpApplication
objet existe réellement? Pourquoi cela n'existerait-il pas? N'est-ce pas cet objetHttpApplication
qui instancie réellement l'instance du module Http?
Voici gestionnaire Http:
public class SimpleSqlLogging : IHttpModule
{
private HttpApplication _CurrentApplication;
public void Dispose()
{
_CurrentApplication = null;
}
public void Init(HttpApplication context)
{
// Attach to the incoming request event
_CurrentApplication = context;
if (context != null)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
}
void context_BeginRequest(object sender, EventArgs e)
{ ... }
}
S'il vous plaît ne pas seulement fournir des liens pour vos réponses. –