Sdílet prostřednictvím


WebManagementEvent Třída

Definice

Definuje základní třídu pro události, které nesou informace o aplikaci a procesu.

public ref class WebManagementEvent : System::Web::Management::WebBaseEvent
public class WebManagementEvent : System.Web.Management.WebBaseEvent
type WebManagementEvent = class
    inherit WebBaseEvent
Public Class WebManagementEvent
Inherits WebBaseEvent
Dědičnost
WebManagementEvent
Odvozené

Příklady

Následující příklad ukazuje, jak implementovat vlastní událost odvozením z WebManagementEvent třídy.


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

namespace Samples.AspNet.Management
{
    // Implements a custom 
    // WebManagementEvent class. 
    public class SampleWebManagementEvent : 
        WebManagementEvent
    {
        private StringBuilder eventInfo;

        // Invoked in case of events 
        // identified only by their event code.
        public SampleWebManagementEvent(string msg, 
            object eventSource, int eventCode):
        base(msg, eventSource, eventCode)
        {
            // Perform custom initialization.
            eventInfo = new StringBuilder();
            eventInfo.Append(string.Format(
                "Event created at: ", 
                EventTime.ToString()));
        }

        // Invoked in case of events identified 
        // by their event code.and related 
        // event detailed code.
        public SampleWebManagementEvent(string msg, 
            object eventSource, int eventCode, 
            int eventDetailCode):
          base(msg, eventSource, 
            eventCode, eventDetailCode)
        {
            // Perform custom initialization.
            eventInfo = new StringBuilder();
            eventInfo.Append(string.Format(
                "Event created at: ", 
                EventTime.ToString()));
        }


        // Raises the SampleWebRequestEvent.
        public override void Raise()
        {
            // Perform custom processing. 
            eventInfo.Append(string.Format(
                "Event raised at: ", 
                EventTime.ToString()));
            // Raise the event.
            base.Raise();
        }

        // Obtains the current process information.
        public string GetProcessInfo()
        {
            StringBuilder tempPi = new StringBuilder();
            WebProcessInformation pi = ProcessInformation;
            tempPi.Append(
                pi.ProcessName + Environment.NewLine);
            tempPi.Append(
                pi.ProcessID.ToString() + Environment.NewLine);
            tempPi.Append(
                pi.AccountName + Environment.NewLine);
            return tempPi.ToString();
        }

        public override void FormatCustomEventDetails(
            WebEventFormatter formatter)
        {
            base.FormatCustomEventDetails(formatter);

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

            formatter.IndentationLevel += 1;
            formatter.AppendLine(
                "** SampleWebManagementEvent Start **");
          
            // Add custom data.
            formatter.AppendLine(eventInfo.ToString());

            formatter.AppendLine(
                      "** SampleWebManagementEvent End **");
        }
    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management


' Implements a custom 
' WebManagementEvent class. 

Public Class SampleWebManagementEvent
   Inherits WebManagementEvent
   Private eventInfo As StringBuilder
   
   
   ' 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.
        eventInfo = New StringBuilder()
        eventInfo.Append(String.Format( _
        "Event created at: ", EventTime.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.
        eventInfo = New StringBuilder()
        eventInfo.Append(String.Format( _
        "Event created at: ", EventTime.ToString()))
    End Sub
   
   
   ' Raises the SampleWebRequestEvent.
   Public Overrides Sub Raise()
      ' Perform custom processing. 
        eventInfo.Append(String.Format( _
        "Event raised at: ", EventTime.ToString()))
      ' Raise the event.
      MyBase.Raise()
   End Sub
   
   
   ' Obtains the current process information.
   Public Function GetProcessInfo() As String
      Dim tempPi As New StringBuilder()
      Dim pi As WebProcessInformation = ProcessInformation
        tempPi.Append( _
        (pi.ProcessName + Environment.NewLine))
        tempPi.Append( _
        (pi.ProcessID.ToString() + Environment.NewLine))
        tempPi.Append( _
        (pi.AccountName + Environment.NewLine))
      Return tempPi.ToString()
   End Function 'GetProcessInfo
   
   
    Public Overrides Sub FormatCustomEventDetails( _
    ByVal formatter As WebEventFormatter)
        MyBase.FormatCustomEventDetails(formatter)

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

        formatter.IndentationLevel += 1
        formatter.AppendLine( _
        "** SampleWebManagementEvent Start **")

        ' Add custom data.
        formatter.AppendLine(eventInfo.ToString())

        formatter.AppendLine( _
        "** SampleWebManagementEvent End **")
    End Sub
End Class

Následuje výňatek z konfiguračního souboru, který ASP.NET umožňuje použít vlastní událost.

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

    <add  name="SampleWebManagementEvent" type="SamplesAspNet.SampleWebManagementEvent,webmanagementevent,Version=1.0.1573.24438, Culture=neutral, PublicKeyToken=2f5f337ae5c9bdaa, processorArchitecture=MSIL"/>  

  </eventMappings>  
  <rules>  
    <add   
      name="Custom WebManagementEvent"  
      eventName="SampleWebManagementEvent"  
      provider="EventLogProvider"  
      profile="Critical"/>  
  </rules>  
</healthMonitoring>  

Poznámky

ASP.NET monitorování stavu umožňuje provozním a provozním pracovníkům spravovat nasazené webové aplikace. Obor System.Web.Management názvů obsahuje typy událostí stavu zodpovědné za balení dat o stavu aplikace a typy zprostředkovatelů zodpovědné za zpracování těchto dat. Obsahuje také podpůrné typy, které pomáhají při správě událostí stavu.

Je WebManagementEvent základní třída pro všechny typy událostí monitorování stavu ASP.NET. Používá WebProcessInformation třídu k získání informací o procesu, které jsou k dispozici pro jeho odvozené třídy.

Poznámka

Ve většině případů budete moct použít ASP.NET typy monitorování stavu tak, jak jsou implementovány, a systém monitorování stavu budete řídit zadáním hodnot v healthMonitoring části konfigurace. Můžete také odvodit z typů monitorování stavu a vytvořit vlastní události a zprostředkovatele. Příklad odvození z WebManagementEvent třídy najdete v příkladu uvedeném v tomto tématu.

Poznámky pro dědice

Při formátování vlastních informací o události pro zobrazení přepište metodu FormatCustomEventDetails(WebEventFormatter) , nikoli metodu ToString . Tím se zabrání přepsání nebo manipulaci s citlivými informacemi o systému.

Kód události, který zadáte pro vlastní událost, musí být větší než WebExtendedBase.

Konstruktory

WebManagementEvent(String, Object, Int32)

Inicializuje novou instanci WebManagementEvent třídy pomocí zadaných parametrů.

WebManagementEvent(String, Object, Int32, Int32)

Inicializuje novou instanci WebManagementEvent třídy pomocí zadaných parametrů.

Vlastnosti

EventCode

Získá hodnotu kódu přidruženou k události.

(Zděděno od WebBaseEvent)
EventDetailCode

Získá kód podrobností události.

(Zděděno od WebBaseEvent)
EventID

Získá identifikátor přidružený k události.

(Zděděno od WebBaseEvent)
EventOccurrence

Získá čítač, který představuje počet výskytů události.

(Zděděno od WebBaseEvent)
EventSequence

Získá kolikrát byla vyvolána událostí aplikace.

(Zděděno od WebBaseEvent)
EventSource

Získá objekt, který vyvolá událost.

(Zděděno od WebBaseEvent)
EventTime

Získá čas, kdy byla událost vyvolána.

(Zděděno od WebBaseEvent)
EventTimeUtc

Získá čas, kdy byla událost vyvolána.

(Zděděno od WebBaseEvent)
Message

Získá zprávu, která popisuje událost.

(Zděděno od WebBaseEvent)
ProcessInformation

Získá informace o procesu hostování aplikace ASP.NET.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
FormatCustomEventDetails(WebEventFormatter)

Poskytuje standardní formátování informací o události.

(Zděděno od WebBaseEvent)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
IncrementPerfCounters()

Používá se interně ke zvýšení čítačů výkonu.

(Zděděno od WebBaseEvent)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
Raise()

Vyvolá událost oznámením libovolného nakonfigurovaného zprostředkovatele, že k události došlo.

(Zděděno od WebBaseEvent)
ToString()

Formátuje informace o událostech pro účely zobrazení.

(Zděděno od WebBaseEvent)
ToString(Boolean, Boolean)

Formátuje informace o událostech pro účely zobrazení.

(Zděděno od WebBaseEvent)

Platí pro

Viz také