WebApplicationLifetimeEvent Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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) |
Inicializa a classe WebApplicationLifetimeEvent usando os parâmetros fornecidos. |
WebApplicationLifetimeEvent(String, Object, Int32, 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) |