WebManagementEvent Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define a classe base para eventos que transportam informação de aplicação e processo.
public ref class WebManagementEvent : System::Web::Management::WebBaseEvent
public class WebManagementEvent : System.Web.Management.WebBaseEvent
type WebManagementEvent = class
inherit WebBaseEvent
Public Class WebManagementEvent
Inherits WebBaseEvent
- Herança
- Derivado
Exemplos
O exemplo seguinte mostra como implementar um evento personalizado derivando-o da WebManagementEvent classe.
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace Samples.AspNet.Management
{
// Implements a custom
// WebManagementEvent class.
public class SampleWebManagementEvent :
WebManagementEvent
{
private StringBuilder eventInfo;
// Invoked in case of events
// identified only by their event code.
public SampleWebManagementEvent(string msg,
object eventSource, int eventCode):
base(msg, eventSource, eventCode)
{
// Perform custom initialization.
eventInfo = new StringBuilder();
eventInfo.Append(string.Format(
"Event created at: ",
EventTime.ToString()));
}
// Invoked in case of events identified
// by their event code.and related
// event detailed code.
public SampleWebManagementEvent(string msg,
object eventSource, int eventCode,
int eventDetailCode):
base(msg, eventSource,
eventCode, eventDetailCode)
{
// Perform custom initialization.
eventInfo = new StringBuilder();
eventInfo.Append(string.Format(
"Event created at: ",
EventTime.ToString()));
}
// Raises the SampleWebRequestEvent.
public override void Raise()
{
// Perform custom processing.
eventInfo.Append(string.Format(
"Event raised at: ",
EventTime.ToString()));
// Raise the event.
base.Raise();
}
// Obtains the current process information.
public string GetProcessInfo()
{
StringBuilder tempPi = new StringBuilder();
WebProcessInformation pi = ProcessInformation;
tempPi.Append(
pi.ProcessName + Environment.NewLine);
tempPi.Append(
pi.ProcessID.ToString() + Environment.NewLine);
tempPi.Append(
pi.AccountName + Environment.NewLine);
return tempPi.ToString();
}
public override void FormatCustomEventDetails(
WebEventFormatter formatter)
{
base.FormatCustomEventDetails(formatter);
// Add custom data.
formatter.AppendLine("");
formatter.IndentationLevel += 1;
formatter.AppendLine(
"** SampleWebManagementEvent Start **");
// Add custom data.
formatter.AppendLine(eventInfo.ToString());
formatter.AppendLine(
"** SampleWebManagementEvent End **");
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
' Implements a custom
' WebManagementEvent class.
Public Class SampleWebManagementEvent
Inherits WebManagementEvent
Private eventInfo As StringBuilder
' 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.
eventInfo = New StringBuilder()
eventInfo.Append(String.Format( _
"Event created at: ", EventTime.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.
eventInfo = New StringBuilder()
eventInfo.Append(String.Format( _
"Event created at: ", EventTime.ToString()))
End Sub
' Raises the SampleWebRequestEvent.
Public Overrides Sub Raise()
' Perform custom processing.
eventInfo.Append(String.Format( _
"Event raised at: ", EventTime.ToString()))
' Raise the event.
MyBase.Raise()
End Sub
' Obtains the current process information.
Public Function GetProcessInfo() As String
Dim tempPi As New StringBuilder()
Dim pi As WebProcessInformation = ProcessInformation
tempPi.Append( _
(pi.ProcessName + Environment.NewLine))
tempPi.Append( _
(pi.ProcessID.ToString() + Environment.NewLine))
tempPi.Append( _
(pi.AccountName + Environment.NewLine))
Return tempPi.ToString()
End Function 'GetProcessInfo
Public Overrides Sub FormatCustomEventDetails( _
ByVal formatter As WebEventFormatter)
MyBase.FormatCustomEventDetails(formatter)
' Add custom data.
formatter.AppendLine("")
formatter.IndentationLevel += 1
formatter.AppendLine( _
"** SampleWebManagementEvent Start **")
' Add custom data.
formatter.AppendLine(eventInfo.ToString())
formatter.AppendLine( _
"** SampleWebManagementEvent End **")
End Sub
End Class
Segue-se um excerto do ficheiro de configuração que permite ao ASP.NET usar o evento personalizado.
<healthMonitoring enabled="true"
heartBeatInterval="0">
<eventMappings>
<add name="SampleWebManagementEvent" type="SamplesAspNet.SampleWebManagementEvent,webmanagementevent,Version=1.0.1573.24438, Culture=neutral, PublicKeyToken=2f5f337ae5c9bdaa, processorArchitecture=MSIL"/>
</eventMappings>
<rules>
<add
name="Custom WebManagementEvent"
eventName="SampleWebManagementEvent"
provider="EventLogProvider"
profile="Critical"/>
</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.
A WebManagementEvent é a classe base para todos os tipos de eventos de monitorização de saúde ASP.NET. Utiliza a WebProcessInformation classe para obter informação de processo disponível para as suas classes derivadas.
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 WebManagementEvent 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.
O código de evento que especifica para o seu evento personalizado deve ser maior que WebExtendedBase.
Construtores
| Name | Description |
|---|---|
| WebManagementEvent(String, Object, Int32, Int32) |
Inicializa uma nova instância da WebManagementEvent classe usando os parâmetros fornecidos. |
| WebManagementEvent(String, Object, Int32) |
Inicializa uma nova instância da WebManagementEvent 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. |
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. (Herdado de WebBaseEvent) |
| 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) |