WebApplicationLifetimeEvent Classe

Definição

Representa um evento significativo na vida útil de uma aplicação.

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
Herança
WebApplicationLifetimeEvent

Exemplos

O exemplo de código seguinte mostra como derivar a partir da WebApplicationLifetimeEvent classe para criar um evento personalizado.


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

O excerto seguinte do ficheiro de configuração mostra como configurar a secção healthMonitoring de um ficheiro de configuração para adicionar o código SampleWebApplicationLifetimeEvent definido acima ao sistema de monitorização de saúde ASP.NET. Para adicionar o evento ao sistema, deve definir o evento adicionando uma nova entrada à eventMappings secção e mapear o evento para um fornecedor adicionando uma nova entrada à rules secção.

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

Observações

A monitorização do estado do ASP.NET permite que as equipas de produção e operações gerenciem aplicações Web implementadas. O System.Web.Management namespace contém os tipos de eventos de saúde responsáveis por empacotar os dados de estado de saúde da aplicação e os tipos de fornecedores responsáveis pelo processamento desses dados. Inclui também tipos de apoio que ajudam na gestão de eventos de saúde.

Os eventos de vida útil da aplicação incluem eventos como arranque e encerramento da aplicação. Se uma aplicação for terminada, pode determinar o motivo visualizando o campo de mensagem de evento relacionado.

Quando ocorre uma instância WebApplicationLifetimeEvent, a monitorização da saúde ASP.NET atualiza o contador de desempenho dos Eventos de Vida da Aplicação. Pode registar estes eventos adicionando o WebApplicationLifetimeEvent objeto à rules subseção da healthMonitoring secção do ficheiro de configuração, como mostrado no exemplo seguinte.

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

O contador de desempenho de Eventos de Vida da Aplicação contém a soma total de todos os eventos de vida do ASP.NET. Para visualizar este contador de desempenho no System Monitor (PerfMon), na janela Add Counters selecione ASP.NET da lista suspensa Performance object. Selecione o contador de desempenho de Eventos Vitalícios da Aplicação e clique no botão Adicionar . Para mais informações, consulte "Utilização do Monitor de Sistema (PerfMon) com ASP.NET Aplicações" em MSDN. Se permitir que os eventos sejam registados pelo EventLogWebEventProvider padrão, pode vê-los em Visualizador de Eventos selecionando o registo Application.

Caution

Como o WebApplicationLifetimeEvent objeto é um evento de grande volume, registar o objeto consome muitos recursos e pode atrasar o seu sistema. Também pode causar que outros eventos sejam sobrescritos no caso da EventLogWebEventProvider classe devido ao elevado volume de eventos e à forma como funciona o registo de eventos.

Note

Na maioria dos casos, poderá usar os tipos de monitorização de saúde ASP.NET tal como implementados, e controlará o sistema de monitorização de saúde especificando valores na secção de configuração healthMonitoring. Também pode recorrer aos tipos de monitorização de saúde para criar os seus próprios eventos e prestadores personalizados. Para um exemplo de derivação da WebApplicationLifetimeEvent turma, veja o exemplo apresentado neste tópico.

Notas para Herdeiros

Ao formatar a informação do seu evento personalizado para exibição, sobrepor o FormatCustomEventDetails(WebEventFormatter) método em vez do ToString método. Isto evitará sobrescrever ou manipular informações sensíveis do sistema.

Construtores

Name Description
WebApplicationLifetimeEvent(String, Object, Int32, Int32)

Inicializa a WebApplicationLifetimeEvent classe usando os parâmetros fornecidos.

WebApplicationLifetimeEvent(String, Object, Int32)

Inicializa a WebApplicationLifetimeEvent classe usando os parâmetros fornecidos.

Propriedades

Name Description
EventCode

Obtém o valor do código associado ao evento.

(Herdado de WebBaseEvent)
EventDetailCode

Obtém o código de detalhe do evento.

(Herdado de WebBaseEvent)
EventID

Obtém o identificador associado ao evento.

(Herdado de WebBaseEvent)
EventOccurrence

Recebe um contador que representa o número de vezes que o evento ocorreu.

(Herdado de WebBaseEvent)
EventSequence

Obtém o número de vezes que o evento foi levantado pela aplicação.

(Herdado de WebBaseEvent)
EventSource

Fica com o objeto que eleva o evento.

(Herdado de WebBaseEvent)
EventTime

Obtém a hora em que o evento foi levantado.

(Herdado de WebBaseEvent)
EventTimeUtc

Obtém a hora em que o evento foi levantado.

(Herdado de WebBaseEvent)
Message

Recebe a mensagem que descreve o evento.

(Herdado de WebBaseEvent)
ProcessInformation

Obtém informações sobre o processo de alojamento de aplicações ASP.NET.

(Herdado de WebManagementEvent)

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FormatCustomEventDetails(WebEventFormatter)

Fornece formatação padrão da informação do evento.

(Herdado de WebBaseEvent)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IncrementPerfCounters()

Usado internamente para incrementar contadores de desempenho.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
Raise()

Levanta um evento ao notificar qualquer fornecedor configurado de que o evento ocorreu.

(Herdado de WebBaseEvent)
ToString()

Formata a informação do evento para fins de exibição.

(Herdado de WebBaseEvent)
ToString(Boolean, Boolean)

Formata a informação do evento para fins de exibição.

(Herdado de WebBaseEvent)

Aplica-se a

Ver também