Поделиться через


WebErrorEvent Класс

Определение

Предоставляет сведения о системных ошибках.

public ref class WebErrorEvent : System::Web::Management::WebBaseErrorEvent
public class WebErrorEvent : System.Web.Management.WebBaseErrorEvent
type WebErrorEvent = class
    inherit WebBaseErrorEvent
Public Class WebErrorEvent
Inherits WebBaseErrorEvent
Наследование

Примеры

В следующем примере кода показано, как наследовать от WebErrorEvent класса для создания пользовательского события.

Также показан фрагмент файла конфигурации, который позволяет ASP.NET использовать это настраиваемое событие.

<healthMonitoring   
  enabled="true" heartBeatInterval="0">  

  <eventMappings>  

    <add  name="SampleWebErrorEvent" type="SamplesAspNet.SampleWebErrorEvent,weberrorevent,Version=1.0.1573.21549, Culture=neutral, PublicKeyToken=2a0b23915ac7352b, processorArchitecture=MSIL"/>  

  </eventMappings>  

  <profiles>  
    <add name="Custom"  
      minInstances="1"  
      maxLimit="Infinite"  
      minInterval="00:00:00" />  
  </profiles>  

  <rules>  
    <clear />  

    <add name="Custom Web Error Event"   
      eventName="SampleWebErrorEvent"  
      provider="EventLogProvider"   
      profile="Custom" />  
  </rules>  

</healthMonitoring>  

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

Комментарии

ASP.NET мониторинг работоспособности позволяет рабочим и операционным сотрудникам управлять развернутыми веб-приложениями. Пространство System.Web.Management имен содержит типы событий работоспособности, отвечающие за упаковку данных о состоянии работоспособности приложения, и типы поставщиков, ответственные за обработку этих данных. Он также содержит вспомогательные типы, которые помогают во время управления событиями работоспособности.

Содержит WebErrorEvent сведения об ошибках, вызванных проблемами с конфигурацией или кодом приложения. Например, ошибка, выдаваемая ASP.NET при обнаружении ошибки на странице.

Примечание

В большинстве случаев вы сможете использовать ASP.NET типы мониторинга работоспособности, как реализовано, и вы будете управлять системой мониторинга работоспособности, указывая значения в healthMonitoring разделе конфигурации. Вы также можете наследоваться от типов мониторинга работоспособности для создания собственных пользовательских событий и поставщиков. Пример наследования от WebErrorEvent класса см. в примере, приведенном в этом разделе.

Конструкторы

WebErrorEvent(String, Object, Int32, Exception)

Инициализирует класс WebErrorEvent, используя предоставленные параметры.

WebErrorEvent(String, Object, Int32, Int32, Exception)

Инициализирует новый экземпляр класса WebErrorEvent с использованием предоставленных параметров.

Свойства

ErrorException

Получает Exception, связанный с ошибкой

(Унаследовано от WebBaseErrorEvent)
EventCode

Получает значение кода, связанное с событием.

(Унаследовано от WebBaseEvent)
EventDetailCode

Получает подробный код события.

(Унаследовано от WebBaseEvent)
EventID

Получает идентификатор, связанный с событием.

(Унаследовано от WebBaseEvent)
EventOccurrence

Получает значение счетчика, показывающее, сколько раз произошло событие.

(Унаследовано от WebBaseEvent)
EventSequence

Получает количество порождений события приложением.

(Унаследовано от WebBaseEvent)
EventSource

Получает объект, порождающий событие.

(Унаследовано от WebBaseEvent)
EventTime

Получает время порождения события.

(Унаследовано от WebBaseEvent)
EventTimeUtc

Получает время порождения события.

(Унаследовано от WebBaseEvent)
Message

Получает сообщение, описывающее событие.

(Унаследовано от WebBaseEvent)
ProcessInformation

Получает сведения о размещающем приложение процессе ASP.NET.

(Унаследовано от WebManagementEvent)
RequestInformation

Получает сведения о запросе приложения.

ThreadInformation

Возвращает сведения о потоке приложения.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FormatCustomEventDetails(WebEventFormatter)

Обеспечивает стандартное форматирование сведений о событии.

(Унаследовано от WebBaseEvent)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IncrementPerfCounters()

Используется для внутренних целей для увеличения значений счетчиков производительности.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
Raise()

Порождает событие, уведомляя любого настроенного поставщика о произошедшем событии.

(Унаследовано от WebBaseEvent)
ToString()

Форматирует сведения события для последующего отображения.

(Унаследовано от WebBaseEvent)
ToString(Boolean, Boolean)

Форматирует сведения события для последующего отображения.

(Унаследовано от WebBaseEvent)

Применяется к

См. также раздел