Udostępnij za pośrednictwem


WebApplicationLifetimeEvent Klasa

Definicja

Reprezentuje znaczące zdarzenie w okresie istnienia aplikacji.

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

Przykłady

Poniższy przykład kodu pokazuje, jak pochodzić z klasy w WebApplicationLifetimeEvent celu utworzenia zdarzenia niestandardowego.


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

Poniższy fragment pliku konfiguracji pokazuje, jak skonfigurować healthMonitoring sekcję pliku konfiguracji, aby dodać SampleWebApplicationLifetimeEvent kod zdefiniowany powyżej do systemu monitorowania kondycji ASP.NET. Aby dodać zdarzenie do systemu, należy zdefiniować zdarzenie, dodając nowy wpis do eventMappings sekcji i mapując zdarzenie na dostawcę, dodając nowy wpis do rules sekcji.

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

Uwagi

ASP.NET monitorowanie kondycji umożliwia pracownikom produkcyjnym i operacyjnym zarządzanie wdrożonych aplikacji internetowych. System.Web.Management Przestrzeń nazw zawiera typy zdarzeń kondycji odpowiedzialne za pakowanie danych o stanie kondycji aplikacji i typów dostawców odpowiedzialnych za przetwarzanie tych danych. Zawiera również typy pomocnicze, które pomagają podczas zarządzania zdarzeniami kondycji.

Zdarzenia okresu istnienia aplikacji obejmują zdarzenia, takie jak zdarzenia uruchamiania aplikacji i zamykania. Jeśli aplikacja zostanie zakończona, możesz określić, dlaczego, wyświetlając powiązane pole komunikatu o zdarzeniu.

W przypadku WebApplicationLifetimeEvent wystąpienia ASP.NET monitorowanie kondycji aktualizuje licznik wydajności zdarzeń okresu istnienia aplikacji. Te zdarzenia można rejestrować, dodając WebApplicationLifetimeEvent obiekt do rules podsekcji healthMonitoring sekcji pliku konfiguracji, jak pokazano w poniższym przykładzie.

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

Licznik wydajności zdarzenia okresu istnienia aplikacji zawiera sumę wszystkich zdarzeń okresu istnienia ASP.NET. Aby wyświetlić ten licznik wydajności w monitorze systemu (PerfMon), w oknie Dodawanie liczników wybierz ASP.NET z listy rozwijanej Obiekt wydajności . Wybierz licznik wydajności zdarzeń okresu istnienia aplikacji , a następnie kliknij przycisk Dodaj . Aby uzyskać więcej informacji, zobacz "Using the System Monitor (PerfMon) with ASP.NET Applications" (Używanie monitora systemu (PerfMon) z aplikacjami ASP.NET" w witrynie MSDN. Jeśli zezwolisz na rejestrowanie zdarzeń według standardu EventLogWebEventProvider, możesz je wyświetlić w Podgląd zdarzeń, wybierając dziennik aplikacji.

Przestroga

WebApplicationLifetimeEvent Ponieważ obiekt jest zdarzeniem o dużej ilości, rejestrowanie go intensywnie obciąża zasoby i może spowolnić działanie systemu. Może również spowodować zastąpienie innych zdarzeń w przypadku EventLogWebEventProvider klasy z powodu dużej liczby zdarzeń i sposobu działania rejestrowania zdarzeń.

Uwaga

W większości przypadków będzie można użyć ASP.NET typów monitorowania kondycji zgodnie z implementacją i będzie kontrolować system monitorowania kondycji, określając wartości w healthMonitoring sekcji konfiguracji. Możesz również pochodzić z typów monitorowania kondycji w celu utworzenia własnych niestandardowych zdarzeń i dostawców. Przykład wyprowadzania z klasy można znaleźć w przykładzie WebApplicationLifetimeEvent podanym w tym temacie.

Uwagi dotyczące dziedziczenia

Podczas formatowania niestandardowych informacji o zdarzeniu do wyświetlenia zastąpij metodę FormatCustomEventDetails(WebEventFormatter) zamiast ToString metody . Pozwoli to uniknąć zastępowania lub manipulowania poufnymi informacjami o systemie.

Konstruktory

WebApplicationLifetimeEvent(String, Object, Int32)

Inicjuje klasę WebApplicationLifetimeEvent przy użyciu podanych parametrów.

WebApplicationLifetimeEvent(String, Object, Int32, Int32)

Inicjuje klasę WebApplicationLifetimeEvent przy użyciu podanych parametrów.

Właściwości

EventCode

Pobiera wartość kodu skojarzona ze zdarzeniem.

(Odziedziczone po WebBaseEvent)
EventDetailCode

Pobiera kod szczegółów zdarzenia.

(Odziedziczone po WebBaseEvent)
EventID

Pobiera identyfikator skojarzony ze zdarzeniem.

(Odziedziczone po WebBaseEvent)
EventOccurrence

Pobiera licznik reprezentujący liczbę przypadków wystąpienia zdarzenia.

(Odziedziczone po WebBaseEvent)
EventSequence

Pobiera liczbę zgłoszonych przez aplikację zdarzeń.

(Odziedziczone po WebBaseEvent)
EventSource

Pobiera obiekt, który zgłasza zdarzenie.

(Odziedziczone po WebBaseEvent)
EventTime

Pobiera czas, kiedy zdarzenie zostało podniesione.

(Odziedziczone po WebBaseEvent)
EventTimeUtc

Pobiera czas, kiedy zdarzenie zostało podniesione.

(Odziedziczone po WebBaseEvent)
Message

Pobiera komunikat opisujący zdarzenie.

(Odziedziczone po WebBaseEvent)
ProcessInformation

Pobiera informacje o procesie hostingu aplikacji ASP.NET.

(Odziedziczone po WebManagementEvent)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FormatCustomEventDetails(WebEventFormatter)

Zapewnia standardowe formatowanie informacji o zdarzeniu.

(Odziedziczone po WebBaseEvent)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IncrementPerfCounters()

Używane wewnętrznie do przyrostowych liczników wydajności.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Raise()

Zgłasza zdarzenie, powiadamiając dowolnego skonfigurowanego dostawcę o wystąpieniu zdarzenia.

(Odziedziczone po WebBaseEvent)
ToString()

Formatuje informacje o zdarzeniach do celów wyświetlania.

(Odziedziczone po WebBaseEvent)
ToString(Boolean, Boolean)

Formatuje informacje o zdarzeniach do celów wyświetlania.

(Odziedziczone po WebBaseEvent)

Dotyczy

Zobacz też