WebFailureAuditEvent Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет сведения о сбоях безопасности.
public ref class WebFailureAuditEvent : System::Web::Management::WebAuditEvent
public class WebFailureAuditEvent : System.Web.Management.WebAuditEvent
type WebFailureAuditEvent = class
inherit WebAuditEvent
Public Class WebFailureAuditEvent
Inherits WebAuditEvent
- Наследование
- Производный
Примеры
В следующем примере кода показано, как наследовать от WebFailureAuditEvent класса для создания пользовательского события аудита.
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace SamplesAspNet
{
// Implements a custom WebFailureAuditEvent class.
public class SampleWebFailureAuditEvent :
System.Web.Management.WebFailureAuditEvent
{
private string customCreatedMsg, customRaisedMsg;
// Invoked in case of events identified only by their event code.
public SampleWebFailureAuditEvent(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 SampleWebFailureAuditEvent(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 SampleWebFailureAuditEvent.
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 is 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(
"******** SampleWebFailureAuditEvent 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(
"******** SampleWebFailureAuditEvent End ********");
formatter.IndentationLevel -= 1;
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
' Implements a custom WebFailureAuditEvent class.
Public Class SampleWebFailureAuditEvent
Inherits System.Web.Management.WebFailureAuditEvent
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 SampleWebFailureAuditEvent.
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 is 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("******** SampleWebFailureAuditEvent 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("******** SampleWebFailureAuditEvent End ********")
formatter.IndentationLevel -= 1
End Sub
End Class
В следующем фрагменте конфигурации показано, как включить использование события ASP.NET WebFailureAuditEvent .
<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="SampleWebFailureAuditEvent"
type="SamplesAspNet.SampleWebFailureAuditEvent,
webfailureauditevent,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 имен содержит типы событий работоспособности, отвечающие за упаковку данных о состоянии работоспособности приложения, и типы поставщиков, ответственные за обработку этих данных. Он также содержит вспомогательные типы, помогающие при управлении событиями работоспособности.
Класс WebFailureAuditEvent используется при сбое операции безопасности. Примером этого является сбой авторизации URL-адреса для веб-запроса.
По умолчанию ASP.NET настроен так, чтобы вызывать WebFailureAuditEvent событие для следующих функций:
Авторизация файла. ASP.NET пытается авторизации файла только в том случае, если с запросом связано удостоверение Windows. Связанный код аудита событий — AuditFileAuthorizationFailure.
Авторизация ПО URL-адреса. Это управляет несанкционированными попытками доступа к ресурсу URL-адреса. Неудачные попытки анонимного пользователя не проверяются, так как сбой анонимной проверки подлинности допустим в большинстве случаев. Связанный код аудита событий — AuditUrlAuthorizationFailure.
Универсальные необработанные условия или необработанные условия безопасности. Ниже приведен список кодов событий, связанных с этими условиями.
WebFailureAuditEvent При возникновении события ASP.NET мониторинга работоспособности увеличивает соответствующий счетчик производительности "События сбоя аудита", а затем проверяет healthMonitoring
раздел конфигурации, чтобы определить, подписаны ли на это событие какие-либо поставщики. Если поставщики подписываются на событие, ASP.NET отправляет событие им для обработки.
Примечание
Чтобы просмотреть счетчик производительности События сбоя аудита в системном мониторе (PerfMon), в окне Добавление счетчиков выберите ASP.NET в раскрывающемся списке Объект производительности , выберите счетчик производительности События сбоя аудита и нажмите кнопку Добавить .
Примечание
В большинстве случаев вы сможете использовать ASP.NET типы мониторинга работоспособности, как реализовано, и вы будете управлять системой мониторинга работоспособности, указав значения в healthMonitoring
разделе конфигурации. Вы также можете наследовать от типов мониторинга работоспособности для создания собственных пользовательских событий и поставщиков. Пример наследования от класса см. в WebFailureAuditEvent разделе Пример.
Примечания для тех, кто наследует этот метод
При форматировании пользовательских сведений о событиях для отображения переопределите FormatCustomEventDetails(WebEventFormatter) метод, а не ToString метод . Это позволит избежать перезаписи или незаконного изменения конфиденциальной системной информации.
Конструкторы
WebFailureAuditEvent(String, Object, Int32, Int32) |
Инициализирует новый экземпляр класса WebFailureAuditEvent с использованием предоставленных параметров. |
WebFailureAuditEvent(String, Object, Int32) |
Инициализирует новый экземпляр класса WebFailureAuditEvent с использованием предоставленных параметров. |
Свойства
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) |