WebBaseErrorEvent 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.
Serve como classe base para todos os eventos de erro de monitorização de saúde.
public ref class WebBaseErrorEvent : System::Web::Management::WebManagementEvent
public class WebBaseErrorEvent : System.Web.Management.WebManagementEvent
type WebBaseErrorEvent = class
inherit WebManagementEvent
Public Class WebBaseErrorEvent
Inherits WebManagementEvent
- Herança
- Derivado
Exemplos
O seguinte exemplo de código tem duas partes. O primeiro é um excerto de um ficheiro de configuração que permite que a monitorização de saúde ASP.NET utilize um evento derivado da classe WebBaseErrorEvent. O segundo mostra como derivar a partir da WebBaseErrorEvent classe para criar o evento personalizado.
<healthMonitoring
enabled="true" heartBeatInterval="0">
<providers>
<!-- Define the custom provider that
processes custom Web request events. -->
<add name="SampleWebEventProvider"
type="SamplesAspNet.SampleEventProvider,
webeventprovider,Version=1.0.1573.18094,
Culture=neutral, PublicKeyToken=b5a57a9a9d487cf4,
processorArchitecture=MSIL"/>
</providers>
<eventMappings>
<!-- Define the event source that issues custom events. -->
<add name="SampleWebBaseErrorEvent"
type="SamplesAspNet.SampleWebBaseErrorEvent,
webbaseerrorevent,Version=1.0.1573.21549, Culture=neutral,
PublicKeyToken=2a0b23915ac7352b, processorArchitecture=MSIL"/>
</eventMappings>
<rules>
<!-- Associate custom event with related
custom provider -->
<add
name="Custom Web Base Errors"
eventName="SampleWebBaseErrorEvent"
provider="SampleWebEventProvider"
profile="Custom"/>
</rules>
</healthMonitoring>
O código seguinte mostra como derivar a partir da WebBaseErrorEvent classe para criar um evento personalizado.
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace Samples.AspNet.Management
{
// Implements a custom WebErrorEvent class.
public class SampleWebErrorEvent : WebErrorEvent
{
private StringBuilder eventInfo;
// Invoked in case of events identified
// only by their event code.
public SampleWebErrorEvent(string msg,
object eventSource, int eventCode, Exception e)
:
base(msg, eventSource, eventCode, e)
{
// 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 SampleWebErrorEvent(string msg,
object eventSource, int eventCode,
int detailedCode, Exception e):
base(msg, eventSource,
eventCode, detailedCode, e)
{
// Perform custom initialization.
eventInfo = new StringBuilder();
eventInfo.Append(string.Format(
"Event created at: ", EventTime.ToString()));
}
// Raises the SampleWebErrorEvent.
public override void Raise()
{
// Perform custom processing.
eventInfo.Append(string.Format(
"Event raised at: ", EventTime.ToString()));
// Raise the event.
base.Raise();
}
// Obtains the current request information.
public string GetRequestInfo()
{
string reqInfo = GetRequestInfo();
return reqInfo;
}
// Obtains the current thread information.
public string GetThreadInfo()
{
string threadInfo = GetThreadInfo();
return threadInfo;
}
// Obtains the current process information.
public string GetProcessInfo()
{
string procInfo = GetProcessInfo();
return procInfo;
}
//Formats Web request event information..
public override void FormatCustomEventDetails(
WebEventFormatter formatter)
{
base.FormatCustomEventDetails(formatter);
// Add custom data.
formatter.AppendLine("");
formatter.IndentationLevel += 1;
formatter.AppendLine(
"** SampleWebErrorEvent Start **");
formatter.AppendLine(eventInfo.ToString());
formatter.AppendLine(
"** SampleWebBaseErrorEvent End **");
formatter.IndentationLevel -= 1;
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
' Implements a custom WebErrorEvent class.
Public Class SampleWebErrorEvent
Inherits WebErrorEvent
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, ByVal e As Exception)
MyBase.New(msg, eventSource, eventCode, e)
' 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 detailedCode As Integer, ByVal e As Exception)
MyBase.New(msg, eventSource, _
eventCode, detailedCode, e)
' Perform custom initialization.
eventInfo = New StringBuilder()
eventInfo.Append(String.Format( _
"Event created at: ", EventTime.ToString()))
End Sub
' Raises the SampleWebErrorEvent.
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 request information.
Public Function GetRequestInfo() As String
Dim reqInfo As String = GetRequestInfo()
Return reqInfo
End Function 'GetRequestInfo
' Obtains the current thread information.
Public Function GetThreadInfo() As String
Dim threadInfo As String = GetThreadInfo()
Return threadInfo
End Function 'GetThreadInfo
' Obtains the current process information.
Public Function GetProcessInfo() As String
Dim procInfo As String = GetProcessInfo()
Return procInfo
End Function 'GetProcessInfo
'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.AppendLine( _
"** SampleWebErrorEvent Start **")
formatter.AppendLine(eventInfo.ToString())
formatter.AppendLine( _
"** SampleWebBaseErrorEvent End **")
formatter.IndentationLevel -= 1
End Sub
End Class
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 WebBaseErrorEvent classe é a classe base para os eventos de monitorização de saúde que representam condições de erro. ASP.NET utiliza WebBaseErrorEvent e os seus tipos derivados para indicar condições de erro durante a vida útil de uma aplicação Web.
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 WebBaseErrorEvent turma, veja o exemplo apresentado neste tópico.
Construtores
| Name | Description |
|---|---|
| WebBaseErrorEvent(String, Object, Int32, Exception) |
Inicializa uma nova instância da WebBaseErrorEvent classe. |
| WebBaseErrorEvent(String, Object, Int32, Int32, Exception) |
Inicializa uma nova instância da WebBaseErrorEvent classe. |
Propriedades
| Name | Description |
|---|---|
| ErrorException |
Obtém o Exception erro associado. |
| 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() |
Incrementa os contadores relacionados com o desempenho do evento-erro. |
| 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) |