Partager via


WebApplicationLifetimeEvent Classe

Définition

Représente un événement significatif dans la durée de vie d'une application.

public ref class WebApplicationLifetimeEvent : System::Web::Management::WebManagementEvent
public class WebApplicationLifetimeEvent : System.Web.Management.WebManagementEvent
type WebApplicationLifetimeEvent = class
    inherit WebManagementEvent
Public Class WebApplicationLifetimeEvent
Inherits WebManagementEvent
Héritage
WebApplicationLifetimeEvent

Exemples

L’exemple de code suivant montre comment dériver de la WebApplicationLifetimeEvent classe pour créer un événement personnalisé.


using System;
using System.Text;
using System.Web;
using System.Web.Management;

namespace SamplesAspNet
{
  // Implements a custom WebManagementEvent class. 
    public class SampleWebApplicationLifetimeEvent :
        System.Web.Management.WebApplicationLifetimeEvent
    {
        private string customCreatedMsg, customRaisedMsg;

        // Invoked in case of events identified only by 
        // their event code.
        public SampleWebApplicationLifetimeEvent(string msg, 
            object eventSource, int eventCode):
          base(msg, eventSource, eventCode)
        {
            // Perform custom initialization.
            customCreatedMsg =
            string.Format("Event created at: {0}",
            DateTime.Now.TimeOfDay.ToString());
        }

        // Invoked in case of events identified by their 
        // event code.and related event detailed code.
        public SampleWebApplicationLifetimeEvent(string msg, 
            object eventSource, int eventCode, 
            int eventDetailCode):
          base(msg, eventSource, eventCode, eventDetailCode)
        {
            // Perform custom initialization.
            customCreatedMsg =
             string.Format("Event created at: {0}",
             DateTime.Now.TimeOfDay.ToString());
        }


        // Raises the SampleWebRequestEvent.
        public override void Raise()
        {
            // Perform custom processing. 
            customRaisedMsg = string.Format(
                "Event raised at: {0}\n", 
                DateTime.Now.TimeOfDay.ToString());
            // Raise the event.
            base.Raise();
        }

        //Formats Web request event information.
        public override void FormatCustomEventDetails(
            WebEventFormatter formatter)
        {
            base.FormatCustomEventDetails(formatter);

            // Add custom data.
            formatter.AppendLine("");

            formatter.IndentationLevel += 1;
    
            formatter.TabSize = 4;
       
            formatter.AppendLine(
                 "*SampleWebApplicationLifetimeEvent Start *");
            formatter.AppendLine("Custom information goes here");
            formatter.AppendLine(
                "* SampleWebApplicationLifetimeEvent End *");
            // Display custom event timing.
            formatter.AppendLine(customCreatedMsg);
            formatter.AppendLine(customRaisedMsg);
        
            formatter.IndentationLevel -= 1;
        }
    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management


' Implements a custom WebManagementEvent class. 

Public Class SampleWebApplicationLifetimeEvent
    Inherits System.Web.Management.WebApplicationLifetimeEvent
    Private customCreatedMsg, customRaisedMsg As String
    
    ' Invoked in case of events identified only by 
    ' their event code.
    Public Sub New(ByVal msg As String, _
    ByVal eventSource As Object, _
    ByVal eventCode As Integer)
        MyBase.New(msg, eventSource, eventCode)
        ' Perform custom initialization.
        customCreatedMsg = _
        String.Format("Event created at: {0}", _
        DateTime.Now.TimeOfDay.ToString())

    End Sub
    
    
    ' Invoked in case of events identified by their 
    ' event code.and related event detailed code.
    Public Sub New(ByVal msg As String, _
    ByVal eventSource As Object, _
    ByVal eventCode As Integer, _
    ByVal eventDetailCode As Integer)
        MyBase.New(msg, eventSource, _
        eventCode, eventDetailCode)
        ' Perform custom initialization.
        customCreatedMsg = _
        String.Format("Event created at: {0}", _
        DateTime.Now.TimeOfDay.ToString())
    End Sub


    ' Raises the SampleWebRequestEvent.
    Public Overrides Sub Raise() 
        ' Perform custom processing. 
        customRaisedMsg = _
        String.Format("Event raised at: {0}" + _
        vbLf, DateTime.Now.TimeOfDay.ToString())
        ' Raise the event.
        MyBase.Raise()
    
    End Sub
    
    'Formats Web request event information.
    Public Overrides Sub FormatCustomEventDetails( _
    ByVal formatter As WebEventFormatter)
        MyBase.FormatCustomEventDetails(formatter)

        ' Add custom data.
        formatter.AppendLine("")

        formatter.IndentationLevel += 1

        formatter.TabSize = 4

        formatter.AppendLine( _
        "*SampleWebApplicationLifetimeEvent Start *")
        formatter.AppendLine("Custom information goes here")
        formatter.AppendLine( _
        "* SampleWebApplicationLifetimeEvent End *")
        ' Display custom event timing.
        formatter.AppendLine(customCreatedMsg)
        formatter.AppendLine(customRaisedMsg)

        formatter.IndentationLevel -= 1

    End Sub
End Class

L’extrait de fichier de configuration suivant montre comment configurer la healthMonitoring section d’un fichier de configuration pour ajouter le SampleWebApplicationLifetimeEvent code défini ci-dessus au système de surveillance de l’intégrité ASP.NET. Pour ajouter l’événement au système, vous devez définir l’événement en ajoutant une nouvelle entrée à la eventMappings section et mapper l’événement à un fournisseur en ajoutant une nouvelle entrée à la rules section.

<healthMonitoring  
  enabled="true"  
  heartBeatInterval="0">  

    <eventMappings>  
       <clear />  
       <!-- Configure the application lifetime event -->  
       <!-- object to handle the Web application events. -->  
       <add name="SampleApplicationLifetimeEvents"  
         type="System.Web.Management.SampleWebApplicationLifetimeEvent,  
         System.Web,Version=2.0.3600.0,  
         Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />  
     </eventMappings>  

    <rules>  
      <clear/>  
       // Configure the connection between the   
       // application lifetime event object   
       // and the provider that must process it.  
       <add name="Custom Application Events"  
         eventName="SampleApplicationLifetimeEvents"  
         provider="EventLogProvider"  
         profile="Default"  
         minInterval="00:01:00" />  
    </rules>  

</healthMonitoring>  

Remarques

ASP.NET surveillance de l’intégrité permet au personnel de production et d’exploitation de gérer les applications web déployées. L’espace System.Web.Management de noms contient les types d’événements d’intégrité responsables de l’empaquetage des données d’état d’intégrité de l’application et les types de fournisseurs responsables du traitement de ces données. Il contient également des types de prise en charge qui aident à gérer les événements d’intégrité.

Les événements de durée de vie de l’application incluent des événements tels que les événements de démarrage et d’arrêt d’application. Si une application est arrêtée, vous pouvez déterminer pourquoi en affichant le champ de message d’événement associé.

Lorsqu’une WebApplicationLifetimeEvent instance se produit, ASP.NET surveillance de l’intégrité met à jour le compteur de performances des événements de durée de vie de l’application. Vous pouvez consigner ces événements en ajoutant l’objet WebApplicationLifetimeEvent à la rules sous-section de la healthMonitoring section du fichier de configuration, comme illustré dans l’exemple suivant.

<rules>  
  <add name="Application Events"  
    eventName="Application Lifetime Events"  
    provider="EventLogProvider"  
    profile="Default"  
    minInterval="00:01:00" />  
</rules>  

Le compteur de performances Des événements de durée de vie de l’application contient la somme totale de tous les événements ASP.NET durée de vie. Pour afficher ce compteur de performances dans le Moniteur système (PerfMon), dans la fenêtre Ajouter des compteurs , sélectionnez ASP.NET dans la liste déroulante Objet performance . Sélectionnez le compteur de performances Événements de durée de vie de l’application , puis cliquez sur le bouton Ajouter . Pour plus d’informations, consultez « Utilisation du moniteur système (PerfMon) avec ASP.NET applications » sur MSDN. Si vous autorisez les événements à être consignés par le standard EventLogWebEventProvider, vous pouvez les afficher dans l’Observateur d’événements en sélectionnant le journal des applications.

Attention

Étant donné que l’objet WebApplicationLifetimeEvent est un événement de volume élevé, sa journalisation nécessite beaucoup de ressources et peut ralentir votre système. Cela peut également entraîner le remplacement d’autres événements dans le cas de la EventLogWebEventProvider classe en raison du volume élevé d’événements et du fonctionnement de la journalisation des événements.

Notes

Dans la plupart des cas, vous serez en mesure d’utiliser les ASP.NET types de surveillance de l’intégrité tels qu’ils sont implémentés, et vous contrôlerez le système de surveillance de l’intégrité en spécifiant des valeurs dans la healthMonitoring section de configuration. Vous pouvez également dériver des types de surveillance de l’intégrité pour créer vos propres événements et fournisseurs personnalisés. Pour obtenir un exemple de dérivation de la WebApplicationLifetimeEvent classe, consultez l’exemple fourni dans cette rubrique.

Notes pour les héritiers

Lors de la mise en forme de vos informations d’événement personnalisées pour l’affichage, remplacez la FormatCustomEventDetails(WebEventFormatter) méthode plutôt que la ToString méthode. Cela permet d’éviter le remplacement ou la falsification d’informations système sensibles.

Constructeurs

WebApplicationLifetimeEvent(String, Object, Int32)

Initialise la classe WebApplicationLifetimeEvent en utilisant les paramètres fournis.

WebApplicationLifetimeEvent(String, Object, Int32, Int32)

Initialise la classe WebApplicationLifetimeEvent en utilisant les paramètres fournis.

Propriétés

EventCode

Obtient la valeur de code associée à l'événement.

(Hérité de WebBaseEvent)
EventDetailCode

Obtient le code de détail de l'événement.

(Hérité de WebBaseEvent)
EventID

Obtient l’identificateur associé à l’événement.

(Hérité de WebBaseEvent)
EventOccurrence

Obtient un compteur qui représente le nombre de fois où l'événement a eu lieu.

(Hérité de WebBaseEvent)
EventSequence

Obtient le nombre de fois où l'événement a été déclenché par l'application.

(Hérité de WebBaseEvent)
EventSource

Obtient l'objet qui déclenche l'événement.

(Hérité de WebBaseEvent)
EventTime

Obtient l'heure à laquelle l'événement a été déclenché.

(Hérité de WebBaseEvent)
EventTimeUtc

Obtient l'heure à laquelle l'événement a été déclenché.

(Hérité de WebBaseEvent)
Message

Obtient le message qui décrit l'événement.

(Hérité de WebBaseEvent)
ProcessInformation

Obtient des informations sur le processus d'hébergement d'application ASP.NET.

(Hérité de WebManagementEvent)

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
FormatCustomEventDetails(WebEventFormatter)

Fournit la mise en forme standard des informations sur l'événement.

(Hérité de WebBaseEvent)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IncrementPerfCounters()

Utilisé en interne pour incrémenter des compteurs de performance.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Raise()

Déclenche un événement en notifiant à tout fournisseur configuré que l'événement s'est produit.

(Hérité de WebBaseEvent)
ToString()

Met en forme les informations sur l'événement à des fins d'affichage.

(Hérité de WebBaseEvent)
ToString(Boolean, Boolean)

Met en forme les informations sur l'événement à des fins d'affichage.

(Hérité de WebBaseEvent)

S’applique à

Voir aussi