2009-06-26 9 views
1

Je suis en train de configurer une surveillance de l'état d'une application asp .net 2.0. Je souhaiterais pouvoir récupérer l'objet de demande Web d'origine. J'aimerais pouvoir inspecter les en-têtes envoyés et, si possible, les données postales.Objet HttpRequest dans HealthMonitoring

J'ai actuellement un fournisseur d'événements qui hérite de WebEventProvider, mais cela inclut uniquement les données HttpWebResponse, pas la requête.

Comment puis-je faire à ce sujet?

Répondre

1

Avez-vous l'intention d'effectuer une surveillance de la santé uniquement pour votre application ou toutes les applications de l'IIS? Uniquement pour votre propre application, vous pouvez créer une classe et dériver de IHttpModule et dans sa méthode Init, vous pouvez créer une notification d'événement même pour surveiller la requête et tout autre état.

public class MyMonitor : IHttpModule 
{ 

     public void Init(HttpApplication context) 
     { 
      // you can watch any of such events and respond accordingly 
      context.BeginRequest += new EventHandler(context_BeginRequest); 
      context.PostUpdateRequestCache += 
       new EventHandler(context_PostUpdateRequestCache); 
      context.Error += new EventHandler(context_Error); 
     } 
     ..... 
} 

Et vous pouvez ajouter la ligne suivante dans votre web.config

<httpModules> 
    <add name="MyMonitor" type="Namespace.MyMonitor"/> 
</httpModules> 
Questions connexes