Compartilhar via


WebApplicationLifetimeEvent Classe

Definição

Representa um evento significativo no tempo de vida de um aplicativo.

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 a seguir mostra como derivar 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 trecho de arquivo de configuração a seguir mostra como configurar a healthMonitoring seção de um arquivo de configuração para adicionar o SampleWebApplicationLifetimeEvent código definido acima ao ASP.NET sistema de monitoramento de integridade. Para adicionar o evento ao sistema, você deve definir o evento adicionando uma nova entrada à eventMappings seção e mapear o evento para um provedor adicionando uma nova entrada à rules seçã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>  

Comentários

ASP.NET monitoramento de integridade permite que a equipe de produção e operações gerencie aplicativos Web implantados. O System.Web.Management namespace contém os tipos de evento de integridade responsáveis por empacotar dados de status de integridade do aplicativo e os tipos de provedor responsáveis por processar esses dados. Ele também contém tipos de suporte que ajudam durante o gerenciamento de eventos de integridade.

Os eventos de tempo de vida do aplicativo incluem eventos como eventos de inicialização e desligamento do aplicativo. Se um aplicativo for encerrado, você poderá determinar por que exibindo o campo de mensagem de evento relacionado.

Quando uma WebApplicationLifetimeEvent instância ocorre, ASP.NET monitoramento de integridade atualiza o contador de desempenho eventos de tempo de vida do aplicativo. Você pode registrar esses eventos adicionando o WebApplicationLifetimeEvent objeto à rules subseção da healthMonitoring seção do arquivo de configuração, conforme mostrado no exemplo a seguir.

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

O contador de desempenho Eventos de Tempo de Vida do Aplicativo contém a soma total de todos os eventos de tempo de vida ASP.NET. Para exibir esse contador de desempenho no Monitor do Sistema (PerfMon), na janela Adicionar Contadores , selecione ASP.NET na lista suspensa Objeto de desempenho . Selecione o contador de desempenho Eventos de Tempo de Vida do Aplicativo e clique no botão Adicionar . Para obter mais informações, confira "Como usar o Monitor do Sistema (PerfMon) com aplicativos ASP.NET" no MSDN. Se você permitir que os eventos sejam registrados pelo padrão EventLogWebEventProvider, poderá exibi-los no Visualizador de Eventos selecionando o Log do aplicativo .

Cuidado

Como o WebApplicationLifetimeEvent objeto é um evento de alto volume, o registro em log faz uso intensivo de recursos e pode diminuir a velocidade do sistema. Ele também pode fazer com que outros eventos sejam substituídos no caso da EventLogWebEventProvider classe devido ao alto volume de eventos e à maneira como o log de eventos funciona.

Observação

Na maioria dos casos, você poderá usar o ASP.NET tipos de monitoramento de integridade conforme implementado e controlará o sistema de monitoramento de integridade especificando valores na healthMonitoring seção de configuração. Você também pode derivar dos tipos de monitoramento de integridade para criar seus próprios provedores e eventos personalizados. Para obter um exemplo de derivação da WebApplicationLifetimeEvent classe , consulte o exemplo fornecido neste tópico.

Notas aos Herdeiros

Ao formatar suas informações de evento personalizadas para exibição, substitua o FormatCustomEventDetails(WebEventFormatter) método em vez do ToString método . Isso evitará substituir ou adulterar informações confidenciais do sistema.

Construtores

WebApplicationLifetimeEvent(String, Object, Int32, Int32)

Inicializa a classe WebApplicationLifetimeEvent usando os parâmetros fornecidos.

WebApplicationLifetimeEvent(String, Object, Int32)

Inicializa a classe WebApplicationLifetimeEvent usando os parâmetros fornecidos.

Propriedades

EventCode

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

(Herdado de WebBaseEvent)
EventDetailCode

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

(Herdado de WebBaseEvent)
EventID

Obtém o identificador associado ao evento.

(Herdado de WebBaseEvent)
EventOccurrence

Obtém 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 gerado pelo aplicativo.

(Herdado de WebBaseEvent)
EventSource

Obtém o objeto que gera o evento.

(Herdado de WebBaseEvent)
EventTime

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

(Herdado de WebBaseEvent)
EventTimeUtc

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

(Herdado de WebBaseEvent)
Message

Obtém a mensagem que descreve o evento.

(Herdado de WebBaseEvent)
ProcessInformation

Obtém informações sobre o processo de hospedagem de aplicativos do ASP.NET.

(Herdado de WebManagementEvent)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FormatCustomEventDetails(WebEventFormatter)

Fornece a formatação padrão das informações do evento.

(Herdado de WebBaseEvent)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IncrementPerfCounters()

Usado internamente para incrementar os contadores de desempenho.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Raise()

Gera um evento notificando qualquer provedor configurado de que o evento ocorreu.

(Herdado de WebBaseEvent)
ToString()

Formata as informações de evento para fins de exibição.

(Herdado de WebBaseEvent)
ToString(Boolean, Boolean)

Formata as informações de evento para fins de exibição.

(Herdado de WebBaseEvent)

Aplica-se a

Confira também