WebApplicationLifetimeEvent Classe

Definizione

Rappresenta un evento significativo nella durata di un'applicazione.

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
Ereditarietà
WebApplicationLifetimeEvent

Esempio

Nell'esempio di codice seguente viene illustrato come derivare dalla WebApplicationLifetimeEvent classe per creare un evento personalizzato.


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

Nell'estratto del file di configurazione seguente viene illustrato come configurare la sezione di un file di configurazione per aggiungere il codice /> eventMappings sezione ed eseguendo il mapping dell'evento a un provider aggiungendo una nuova voce alla rules sezione .

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

Commenti

ASP.NET il monitoraggio dell'integrità consente al personale operativo e di produzione di gestire le applicazioni Web distribuite. Lo System.Web.Management spazio dei nomi contiene i tipi di evento di integrità responsabili della creazione di pacchetti di dati sullo stato di integrità dell'applicazione e i tipi di provider responsabili dell'elaborazione di questi dati. Contiene anche tipi di supporto utili durante la gestione degli eventi di integrità.

Gli eventi di durata dell'applicazione includono eventi come gli eventi di avvio e arresto dell'applicazione. Se un'applicazione viene terminata, è possibile determinare il motivo visualizzando il campo del messaggio di evento correlato.

Quando si verifica un'istanza di WebApplicationLifetimeEvent, ASP.NET monitoraggio dell'integrità aggiorna il contatore delle prestazioni Degli eventi di durata dell'applicazione. È possibile registrare questi eventi aggiungendo l'oggetto WebApplicationLifetimeEvent alla rules sottosezione della healthMonitoring sezione del file di configurazione, come illustrato nell'esempio seguente.

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

Il contatore delle prestazioni Eventi durata applicazione contiene la somma totale di tutti gli eventi di durata ASP.NET. Per visualizzare questo contatore delle prestazioni in Monitoraggio di sistema (PerfMon), nella finestra Aggiungi contatori selezionare ASP.NET dall'elenco a discesa Performance object. Selezionare il contatore delle prestazioni Eventi durata applicazione e fare clic sul pulsante Aggiungi . Per altre informazioni, vedere "Uso di Monitoraggio di sistema (PerfMon) con applicazioni ASP.NET" in MSDN. Se si consente la registrazione degli eventi tramite lo standard EventLogWebEventProvider, è possibile visualizzarli in Visualizzatore eventi selezionando il log Application.

Attenzione

Poiché l'oggetto WebApplicationLifetimeEvent è un evento con volumi elevati, la registrazione è a elevato utilizzo di risorse e potrebbe rallentare il sistema. Può anche causare la sovrascrittura di altri eventi nel caso della EventLogWebEventProvider classe a causa del volume elevato di eventi e del funzionamento della registrazione degli eventi.

Note

Nella maggior parte dei casi sarà possibile usare i tipi di monitoraggio dell'integrità ASP.NET implementati e sarà possibile controllare il sistema di monitoraggio dell'integrità specificando i valori nella sezione di configurazione healthMonitoring. È anche possibile derivare dai tipi di monitoraggio dell'integrità per creare provider ed eventi personalizzati. Per un esempio di derivazione dalla WebApplicationLifetimeEvent classe , vedere l'esempio fornito in questo argomento.

Note per gli eredi

Quando si formattano le informazioni sull'evento personalizzato per la visualizzazione, eseguire l'override del FormatCustomEventDetails(WebEventFormatter) metodo anziché del ToString metodo . In questo modo si evita di sovrascrivere o manomettere le informazioni sensibili del sistema.

Costruttori

Nome Descrizione
WebApplicationLifetimeEvent(String, Object, Int32, Int32)

Inizializza la WebApplicationLifetimeEvent classe utilizzando i parametri forniti.

WebApplicationLifetimeEvent(String, Object, Int32)

Inizializza la WebApplicationLifetimeEvent classe utilizzando i parametri forniti.

Proprietà

Nome Descrizione
EventCode

Ottiene il valore di codice associato all'evento.

(Ereditato da WebBaseEvent)
EventDetailCode

Ottiene il codice di dettaglio dell'evento.

(Ereditato da WebBaseEvent)
EventID

Ottiene l'identificatore associato all'evento.

(Ereditato da WebBaseEvent)
EventOccurrence

Ottiene un contatore che rappresenta il numero di volte in cui si è verificato l'evento.

(Ereditato da WebBaseEvent)
EventSequence

Ottiene il numero di volte in cui l'evento è stato generato dall'applicazione.

(Ereditato da WebBaseEvent)
EventSource

Ottiene l'oggetto che genera l'evento.

(Ereditato da WebBaseEvent)
EventTime

Ottiene l'ora in cui è stato generato l'evento.

(Ereditato da WebBaseEvent)
EventTimeUtc

Ottiene l'ora in cui è stato generato l'evento.

(Ereditato da WebBaseEvent)
Message

Ottiene il messaggio che descrive l'evento.

(Ereditato da WebBaseEvent)
ProcessInformation

Ottiene informazioni sul processo di hosting dell'applicazione ASP.NET.

(Ereditato da WebManagementEvent)

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FormatCustomEventDetails(WebEventFormatter)

Fornisce la formattazione standard delle informazioni sull'evento.

(Ereditato da WebBaseEvent)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IncrementPerfCounters()

Usato internamente per incrementare i contatori delle prestazioni.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Raise()

Genera un evento notificando a qualsiasi provider configurato che si è verificato l'evento.

(Ereditato da WebBaseEvent)
ToString()

Formatta le informazioni sugli eventi a scopo di visualizzazione.

(Ereditato da WebBaseEvent)
ToString(Boolean, Boolean)

Formatta le informazioni sugli eventi a scopo di visualizzazione.

(Ereditato da WebBaseEvent)

Si applica a

Vedi anche