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


WebSuccessAuditEvent Класс

Определение

Предоставляет сведения об успешных событиях безопасности.

public ref class WebSuccessAuditEvent : System::Web::Management::WebAuditEvent
public class WebSuccessAuditEvent : System.Web.Management.WebAuditEvent
type WebSuccessAuditEvent = class
    inherit WebAuditEvent
Public Class WebSuccessAuditEvent
Inherits WebAuditEvent
Наследование
Производный

Примеры

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


using System;
using System.Text;
using System.Web;
using System.Web.Management;

namespace SamplesAspNet
{
    // Implements a custom WebSuccessAuditEvent class. 
    public class SampleWebSuccessAuditEvent :
        System.Web.Management.WebSuccessAuditEvent
    {
        private string customCreatedMsg, customRaisedMsg;

        // Invoked in case of events identified only by their event code.
        public SampleWebSuccessAuditEvent(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 
        // event detailed code.
        public SampleWebSuccessAuditEvent(string msg, object eventSource,
            int eventCode, int detailedCode)
            :
        base(msg, eventSource, eventCode, detailedCode)
        {
            // Perform custom initialization.
            customCreatedMsg =
            string.Format("Event created at: {0}",
                DateTime.Now.TimeOfDay.ToString());
        }


        // Raises the SampleWebSuccessAuditEvent.
        public override void Raise()
        {
            // Perform custom processing.
            customRaisedMsg =
                string.Format("Event raised at: {0}", 
                DateTime.Now.TimeOfDay.ToString());

            // Raise the event.
            WebBaseEvent.Raise(this);
        }

        // Obtains the current thread information.
        public WebRequestInformation GetRequestInformation()
        {
            // No customization allowed.
            return RequestInformation;
        }

        //Formats Web request event information.
        //This method is invoked indirectly by the provider using one of the
        //overloaded ToString methods.
        public override void FormatCustomEventDetails(WebEventFormatter formatter)
        {
            base.FormatCustomEventDetails(formatter);

            // Add custom data.
            formatter.AppendLine("");

            formatter.IndentationLevel += 1;
            formatter.AppendLine(
                "******** SampleWebSuccessAuditEvent Start ********");
            formatter.AppendLine(string.Format("Request path: {0}",
                RequestInformation.RequestPath));
            formatter.AppendLine(string.Format("Request Url: {0}",
                RequestInformation.RequestUrl));

            // Display custom event timing.
            formatter.AppendLine(customCreatedMsg);
            formatter.AppendLine(customRaisedMsg);

            formatter.AppendLine(
                "******** SampleWebSuccessAuditEvent End ********");

            formatter.IndentationLevel -= 1;
        }
    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management


' Implements a custom WebSuccessAuditEvent class. 

Public Class SampleWebSuccessAuditEvent
    Inherits System.Web.Management.WebSuccessAuditEvent
    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 
    ' event detailed code.
    Public Sub New(ByVal msg As String, ByVal eventSource As Object, _
    ByVal eventCode As Integer, ByVal detailedCode As Integer)
        MyBase.New(msg, EventSource, eventCode, detailedCode)
        ' Perform custom initialization.
        customCreatedMsg = String.Format("Event created at: {0}", _
        DateTime.Now.TimeOfDay.ToString())

    End Sub
    
    
    
    ' Raises the SampleWebSuccessAuditEvent.
    Public Overrides Sub Raise() 
        ' Perform custom processing.
        customRaisedMsg = String.Format("Event raised at: {0}", _
        DateTime.Now.TimeOfDay.ToString())
        
        ' Raise the event.
        WebBaseEvent.Raise(Me)
    
    End Sub
    
    
    ' Obtains the current thread information.
    Public Function GetRequestInformation() As WebRequestInformation 
        ' No customization allowed.
        Return RequestInformation
    
    End Function 'GetRequestInformation
    
    
    'Formats Web request event information.
    'This method is invoked indirectly by the provider using one of the
    'overloaded ToString methods.
    Public Overrides Sub FormatCustomEventDetails(ByVal formatter _
    As WebEventFormatter)
        MyBase.FormatCustomEventDetails(formatter)

        ' Add custom data.
        formatter.AppendLine("")

        formatter.IndentationLevel += 1
        formatter.AppendLine("**SampleWebSuccessAuditEvent Start **")
        formatter.AppendLine(String.Format("Request path: {0}", _
        RequestInformation.RequestPath))
        formatter.AppendLine(String.Format("Request Url: {0}", _
        RequestInformation.RequestUrl))

        ' Display custom event timing.
        formatter.AppendLine(customCreatedMsg)
        formatter.AppendLine(customRaisedMsg)

        formatter.AppendLine("** SampleWebSuccessAuditEvent End **")

        formatter.IndentationLevel -= 1

    End Sub
End Class

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

<healthMonitoring   
..enabled="true"  
..heartBeatInterval="0">   
  <providers>  
    <add name="EventLogProvider"   
    type="System.Web.Management.EventLogWebEventProvider,  
    System.Web,Version=2.0.3600.0,Culture=neutral,  
    PublicKeyToken=b03f5f7f11d50a3a"/>  
  </providers>  
  <eventMappings>  
    <add  name="SampleWebSuccessAuditEvent"   
      type="SamplesAspNet.SampleWebSuccessAuditEvent,  
      websuccessauditevent,Version=1.0.1663.31140,   
      Culture=neutral,   
      PublicKeyToken=0d1fa0f69d94de96,   
      processorArchitecture=MSIL"/>  
  </eventMappings>  
  <rules>  
    <add name="Custom Failure Audit Default"  
      eventName=" SampleWebFailureAuditEvent "  
      provider="EventLogProvider"  
      profile="Default"/>    
  </rules>  
</healthMonitoring>  

Комментарии

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

Класс WebSuccessAuditEvent используется при успешном выполнении операции, связанной с безопасностью. Примером этого является успешная авторизация URL-адреса для веб-запроса.

В следующем списке описаны функции, для которых события типа WebSuccessAuditEvent вызываются ASP.NET:

  • Авторизация файла. Выполняется аудит успешных условий. Авторизация файла выполняется только ASP.NET, если с запросом связано удостоверение Windows. Соответствующий код аудита события — AuditFileAuthorizationSuccess.

  • Авторизация URL-адреса. Это означает доступ к ресурсу URL-адреса, для которого предоставляется авторизация. Выполняется аудит успешных условий. Соответствующий код аудита события — AuditUrlAuthorizationSuccess.

  • Другие условия безопасности. Ниже приведен список связанных кодов событий.

WebSuccessAuditEvent При возникновении ASP.NET мониторинга работоспособности увеличивается соответствующий счетчик производительности Audit Success Events Raised, а затем проверяет конфигурациюhealthMonitoring, чтобы определить, подписываются ли на это событие какие-либо поставщики. Если поставщики подписываются на событие, ASP.NET отправляет событие им для обработки.

Примечание

Чтобы просмотреть счетчик производительности Audit Success Event Raised (Audit Success Event Raised) в системном мониторе (PerfMon), в окне Добавление счетчиков выберите ASP.NET в раскрывающемся списке Объект производительности Производительность , выберите счетчик Производительность Событие успешного выполнения и нажмите кнопку Добавить . Дополнительные сведения см. в разделе Мониторинг производительности приложений ASP.NET.

Так как аудит успешности представляет собой ожидаемое условие, вы можете не подписываться на них. Вы можете подписаться на них, чтобы обеспечить аудит доступа для сайта.

Примечание

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

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

WebSuccessAuditEvent(String, Object, Int32, Int32)

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

WebSuccessAuditEvent(String, Object, Int32)

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

Свойства

EventCode

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Методы

Equals(Object)

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

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

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

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

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

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

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

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

Увеличивает значение счетчика "Событий аудита успехов".

MemberwiseClone()

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

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

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

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

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

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

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

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

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

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