WebApplicationLifetimeEvent Classe

Definição

Representa um evento significativo no tempo de vida de um aplicativo.Represents a significant event in the lifetime of an application.

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.The following code example shows how to derive from the WebApplicationLifetimeEvent class to create a custom event.


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 sistema de monitoramento de integridade ASP.net.The following configuration-file excerpt shows how to configure the healthMonitoring section of a configuration file to add the SampleWebApplicationLifetimeEvent code defined above to the ASP.NET health-monitoring system. 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.To add the event to the system, you must define the event by adding a new entry to the eventMappings section and map the event to a provider by adding a new entry to the rules section.

<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

O monitoramento de integridade do ASP.NET permite que a equipe de produção e operações Gerencie aplicativos Web implantados.ASP.NET health monitoring allows production and operations staff to manage deployed Web applications. O System.Web.Management namespace contém os tipos de eventos de integridade responsáveis pelo empacotamento de dados de status de integridade do aplicativo e os tipos de provedor responsáveis pelo processamento desses dados.The System.Web.Management namespace contains the health-event types responsible for packaging application health-status data and the provider types responsible for processing this data. Ele também contém tipos de suporte que ajudam durante o gerenciamento de eventos de integridade.It also contains supporting types that help during the management of health events.

Os eventos de tempo de vida do aplicativo incluem eventos como eventos de inicialização e desligamento do aplicativo.Application lifetime events include events such as application startup and shutdown events. Se um aplicativo for encerrado, você poderá determinar por que exibindo o campo de mensagem de evento relacionado.If an application is terminated, you can determine why by viewing the related event message field.

Quando WebApplicationLifetimeEvent ocorre uma instância, o monitoramento de integridade do ASP.net atualiza o contador de desempenho de eventos de tempo de vida do aplicativo.When a WebApplicationLifetimeEvent instance occurs, ASP.NET health monitoring updates the Application Lifetime Events performance counter. 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.You can log these events by adding the WebApplicationLifetimeEvent object to the rules subsection of the healthMonitoring section of the configuration file, as shown in the following example.

<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 tempo de vida do aplicativo contém a soma total de todos os eventos de tempo de vida ASP.NET.The Application Lifetime Events performance counter contains the sum total of all ASP.NET lifetime events. Para exibir esse contador de desempenho no monitor do sistema (PerfMon), na janela Adicionar contadores , selecione ASP.net na lista suspensa objeto de desempenho .To view this performance counter in System Monitor (PerfMon), in the Add Counters window select ASP.NET from the Performance object drop-down list. Selecione o contador de desempenho eventos de tempo de vida do aplicativo e clique no botão Adicionar .Select the Application Lifetime Events performance counter, and click the Add button. Para obter mais informações, consulte "usando o monitor do sistema (PerfMon) com aplicativos ASP.NET" no msdn.For more information, see "Using the System Monitor (PerfMon) with ASP.NET Applications" on MSDN. Se você permitir que os eventos sejam registrados pelo padrão EventLogWebEventProvider , poderá exibi-los em Visualizador de eventos selecionando o log do aplicativo .If you allow events to be logged by the standard EventLogWebEventProvider, you can view them in Event Viewer by selecting the Application log.

Cuidado

Como o WebApplicationLifetimeEvent objeto é um evento de alto volume, o registro em log é intensivo por recursos e pode tornar o sistema mais lento.Because the WebApplicationLifetimeEvent object is a high-volume event, logging it is resource-intensive and might slow down your system. 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 que o log de eventos funciona.It can also cause other events to be overwritten in the case of the EventLogWebEventProvider class due to the high volume of events and the way the event logging works.

Observação

Na maioria dos casos, você poderá usar os tipos de monitoramento de integridade do ASP.NET conforme implementados e controlar o sistema de monitoramento de integridade especificando valores na healthMonitoring seção configuração.In most cases you will be able to use the ASP.NET health-monitoring types as implemented, and you will control the health-monitoring system by specifying values in the healthMonitoring configuration section. Você também pode derivar dos tipos de monitoramento de integridade para criar seus próprios provedores e eventos personalizados.You can also derive from the health-monitoring types to create your own custom events and providers. Para obter um exemplo de derivação da WebApplicationLifetimeEvent classe, consulte o exemplo fornecido neste tópico.For an example of deriving from the WebApplicationLifetimeEvent class, see the example provided in this topic.

Notas aos Herdeiros

Ao Formatar suas informações de evento personalizado para exibição, substitua o FormatCustomEventDetails(WebEventFormatter) método em vez do ToString método.When formatting your custom event information for display, override the FormatCustomEventDetails(WebEventFormatter) method rather than the ToString method. Isso evitará a substituição ou a adulteração de informações confidenciais do sistema.This will avoid overwriting or tampering with sensitive system information.

Construtores

WebApplicationLifetimeEvent(String, Object, Int32)

Inicializa a classe WebApplicationLifetimeEvent usando os parâmetros fornecidos.Initializes the WebApplicationLifetimeEvent class using the supplied parameters.

WebApplicationLifetimeEvent(String, Object, Int32, Int32)

Inicializa a classe WebApplicationLifetimeEvent usando os parâmetros fornecidos.Initializes the WebApplicationLifetimeEvent class using the supplied parameters.

Propriedades

EventCode

Obtém o valor de código associado ao evento.Gets the code value associated with the event.

(Herdado de WebBaseEvent)
EventDetailCode

Obtém o código de detalhes do evento.Gets the event detail code.

(Herdado de WebBaseEvent)
EventID

Obtém o identificador associado ao evento.Gets the identifier associated with the event.

(Herdado de WebBaseEvent)
EventOccurrence

Obtém um contador que representa o número de vezes que o evento ocorreu.Gets a counter that represents the number of times the event has occurred.

(Herdado de WebBaseEvent)
EventSequence

Obtém o número de vezes que o evento foi gerado pelo aplicativo.Gets the number of times the event has been raised by the application.

(Herdado de WebBaseEvent)
EventSource

Obtém o objeto que gera o evento.Gets the object that raises the event.

(Herdado de WebBaseEvent)
EventTime

Obtém a hora em que o evento foi gerado.Gets the time when the event was raised.

(Herdado de WebBaseEvent)
EventTimeUtc

Obtém a hora em que o evento foi gerado.Gets the time when the event was raised.

(Herdado de WebBaseEvent)
Message

Obtém a mensagem que descreve o evento.Gets the message that describes the event.

(Herdado de WebBaseEvent)
ProcessInformation

Obtém informações sobre o processo de hospedagem de aplicativos do ASP.NET.Gets information about the ASP.NET application-hosting process.

(Herdado de WebManagementEvent)

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
FormatCustomEventDetails(WebEventFormatter)

Fornece a formatação padrão das informações do evento.Provides standard formatting of the event information.

(Herdado de WebBaseEvent)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
IncrementPerfCounters()

Usado internamente para incrementar os contadores de desempenho.Used internally to increment performance counters.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
Raise()

Gera um evento notificando qualquer provedor configurado de que o evento ocorreu.Raises an event by notifying any configured provider that the event has occurred.

(Herdado de WebBaseEvent)
ToString()

Formata as informações de evento para fins de exibição.Formats event information for display purposes.

(Herdado de WebBaseEvent)
ToString(Boolean, Boolean)

Formata as informações de evento para fins de exibição.Formats event information for display purposes.

(Herdado de WebBaseEvent)

Aplica-se a