Sdílet prostřednictvím


WebApplicationLifetimeEvent Třída

Definice

Představuje významnou událost v průběhu životnosti aplikace.

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
Dědičnost
WebApplicationLifetimeEvent

Příklady

Následující příklad kódu ukazuje, jak odvodit z WebApplicationLifetimeEvent třídy vytvořit vlastní událost.


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

Následující výňatek konfiguračního souboru ukazuje, jak nakonfigurovat healthMonitoring oddíl konfiguračního souboru tak, aby se do systému ASP.NET pro monitorování stavu přidal SampleWebApplicationLifetimeEvent kód definovaný výše. Chcete-li přidat událost do systému, musíte událost definovat přidáním nové položky do oddílu eventMappings a namapovat událost na zprostředkovatele přidáním nové položky do oddílu rules .

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

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

Události životnosti aplikace zahrnují události, jako jsou události spuštění a vypnutí aplikace. Pokud je aplikace ukončena, můžete zjistit důvod zobrazením pole zprávy související události.

WebApplicationLifetimeEvent Když dojde k instanci, ASP.NET monitorování stavu aktualizuje čítač výkonu Události životnosti aplikace. Tyto události můžete protokolovat přidáním objektu WebApplicationLifetimeEventrules do pododdílu v oddílu healthMonitoring konfiguračního souboru, jak je znázorněno v následujícím příkladu.

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

Čítač výkonu Události životnosti aplikace obsahuje celkový součet všech událostí ASP.NET životnosti. Pokud chcete tento čítač výkonu zobrazit v nástroji Sledování systému (PerfMon), vyberte v okně Přidat čítačeASP.NET z rozevíracího seznamu Objekt výkonu . Vyberte čítač výkonu Události životnosti aplikace a klikněte na tlačítko Přidat . Další informace najdete v tématu Použití nástroje Sledování systému (PerfMon) s aplikacemi ASP.NET na webu MSDN. Pokud povolíte protokolování událostí pomocí standardu EventLogWebEventProvider, můžete je zobrazit v Prohlížeči událostí výběrem protokolu aplikace .

Upozornění

Vzhledem k tomu, že WebApplicationLifetimeEvent objekt je událost s velkým objemem dat, je protokolování náročné na prostředky a může zpomalit váš systém. Může také způsobit přepsání jiných událostí v případě EventLogWebEventProvider třídy kvůli velkému objemu událostí a způsobu, jakým protokolování událostí funguje.

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 WebApplicationLifetimeEvent 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álostech pro zobrazení přepište metodu FormatCustomEventDetails(WebEventFormatter)ToString místo metody . Vyhnete se tak přepsání nebo manipulaci s citlivými informacemi o systému.

Konstruktory

WebApplicationLifetimeEvent(String, Object, Int32, Int32)

Inicializuje WebApplicationLifetimeEvent třídu pomocí zadaných parametrů.

WebApplicationLifetimeEvent(String, Object, Int32)

Inicializuje WebApplicationLifetimeEvent třídu 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 ASP.NET procesu hostování aplikace.

(Zděděno od WebManagementEvent)

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

Type Získá z aktuální instance.

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

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

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é