Freigeben über


WebApplicationLifetimeEvent Klasse

Definition

Stellt ein wichtiges Ereignis in der Lebensdauer einer Anwendung dar.

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
Vererbung
WebApplicationLifetimeEvent

Beispiele

Das folgende Codebeispiel zeigt, wie Sie von der WebApplicationLifetimeEvent -Klasse ableiten, um ein benutzerdefiniertes Ereignis zu erstellen.


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

Der folgende Konfigurationsdateiauszug zeigt, wie Sie den healthMonitoring Abschnitt einer Konfigurationsdatei konfigurieren, um den SampleWebApplicationLifetimeEvent oben definierten Code zum ASP.NET System zur Integritätsüberwachung hinzuzufügen. Um das Ereignis zum System hinzuzufügen, müssen Sie das Ereignis definieren, indem Sie dem eventMappings Abschnitt einen neuen Eintrag hinzufügen und das Ereignis einem Anbieter zuordnen, indem Sie dem rules Abschnitt einen neuen Eintrag hinzufügen.

<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>  

Hinweise

mit ASP.NET Integritätsüberwachung können Mitarbeiter von Produktion und Betrieb bereitgestellte Webanwendungen verwalten. Der System.Web.Management Namespace enthält die Integritätsereignistypen, die für das Packen von Anwendungsintegritätsdaten verantwortlich sind, und die Anbietertypen, die für die Verarbeitung dieser Daten verantwortlich sind. Es enthält auch unterstützende Typen, die bei der Verwaltung von Integritätsereignissen helfen.

Ereignisse für die Anwendungslebensdauer umfassen Ereignisse wie Start- und Herunterfahren von Anwendungen. Wenn eine Anwendung beendet wird, können Sie den Grund ermitteln, indem Sie das zugehörige Ereignismeldungsfeld anzeigen.

Wenn eine WebApplicationLifetimeEvent Instanz auftritt, aktualisiert ASP.NET Integritätsüberwachung den Leistungsindikator Anwendungslebensdauerereignisse. Sie können diese Ereignisse protokollieren, indem Sie das WebApplicationLifetimeEvent -Objekt dem rules Unterabschnitt des Abschnitts der healthMonitoring Konfigurationsdatei hinzufügen, wie im folgenden Beispiel gezeigt.

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

Der Leistungsindikator Anwendungslebensdauerereignisse enthält die Summe aller ASP.NET Lebensdauerereignisse. Um diesen Leistungsindikator im Systemmonitor (PerfMon) anzuzeigen, wählen Sie im Fenster Leistungsindikatoren hinzufügen in der Dropdownliste LeistungsobjektASP.NET aus. Wählen Sie den Leistungsindikator Anwendungslebensdauerereignisse aus, und klicken Sie auf die Schaltfläche Hinzufügen . Weitere Informationen finden Sie unter Verwenden des Systemmonitors (PerfMon) mit ASP.NET-Anwendungen auf MSDN. Wenn Sie zulassen, dass Ereignisse vom Standard EventLogWebEventProviderprotokolliert werden, können Sie sie in der Ereignisanzeige anzeigen, indem Sie das Anwendungsprotokoll auswählen.

Achtung

Da es sich bei dem WebApplicationLifetimeEvent Objekt um ein Ereignis mit hohem Volumen handelt, ist die Protokollierung ressourcenintensiv und kann Ihr System verlangsamen. Dies kann auch dazu führen, dass andere Ereignisse im Fall der EventLogWebEventProvider -Klasse aufgrund der hohen Anzahl von Ereignissen und der Art und Weise, wie die Ereignisprotokollierung funktioniert, überschrieben werden.

Hinweis

In den meisten Fällen können Sie die ASP.NET Typen der Integritätsüberwachung wie implementiert verwenden, und Sie steuern das System zur Integritätsüberwachung, indem Sie Werte im healthMonitoring Konfigurationsabschnitt angeben. Sie können auch von den Integritätsüberwachungstypen ableiten, um eigene benutzerdefinierte Ereignisse und Anbieter zu erstellen. Ein Beispiel für die Ableitung von der WebApplicationLifetimeEvent -Klasse finden Sie im Beispiel in diesem Thema.

Hinweise für Vererber

Wenn Sie ihre benutzerdefinierten Ereignisinformationen für die Anzeige formatieren, überschreiben Sie die FormatCustomEventDetails(WebEventFormatter) -Methode und nicht die ToString -Methode. Dadurch wird verhindert, dass vertrauliche Systeminformationen überschrieben oder manipuliert werden.

Konstruktoren

WebApplicationLifetimeEvent(String, Object, Int32, Int32)

Initialisiert die WebApplicationLifetimeEvent-Klasse mit den bereitgestellten Parametern.

WebApplicationLifetimeEvent(String, Object, Int32)

Initialisiert die WebApplicationLifetimeEvent-Klasse mit den bereitgestellten Parametern.

Eigenschaften

EventCode

Ruft den Codewert ab, der dem Ereignis zugeordnet ist.

(Geerbt von WebBaseEvent)
EventDetailCode

Ruft den Ereignisdetailcode ab.

(Geerbt von WebBaseEvent)
EventID

Ruft den dem Ereignis zugeordneten Bezeichner ab.

(Geerbt von WebBaseEvent)
EventOccurrence

Ruft einen Zähler ab, der die Häufigkeit darstellt, mit der das Ereignis eingetreten ist.

(Geerbt von WebBaseEvent)
EventSequence

Ruft die Häufigkeit ab, mit der das Ereignis von der Anwendung ausgelöst wurde.

(Geerbt von WebBaseEvent)
EventSource

Ruft das Objekt ab, das das Ereignis auslöst.

(Geerbt von WebBaseEvent)
EventTime

Ruft die Uhrzeit ab, zu der das Ereignis ausgelöst wurde.

(Geerbt von WebBaseEvent)
EventTimeUtc

Ruft die Uhrzeit ab, zu der das Ereignis ausgelöst wurde.

(Geerbt von WebBaseEvent)
Message

Ruft die Meldung ab, in der das Ereignis beschrieben wird.

(Geerbt von WebBaseEvent)
ProcessInformation

Ruft Informationen über den Hostprozess der ASP.NET-Anwendung ab.

(Geerbt von WebManagementEvent)

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
FormatCustomEventDetails(WebEventFormatter)

Stellt Standardformatierung der Ereignisinformationen bereit.

(Geerbt von WebBaseEvent)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IncrementPerfCounters()

Wird intern zum Inkrementieren der Leistungsindikatoren verwendet.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Raise()

Löst ein Ereignis aus, indem ein konfigurierter Anbieter benachrichtigt wird, dass das Ereignis eingetreten ist.

(Geerbt von WebBaseEvent)
ToString()

Formatiert Ereignisinformationen für die Anzeige.

(Geerbt von WebBaseEvent)
ToString(Boolean, Boolean)

Formatiert Ereignisinformationen für die Anzeige.

(Geerbt von WebBaseEvent)

Gilt für:

Weitere Informationen