WebAuditEvent 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
做為所有 ASP.NET 健康監視稽核事件的基底類別。
public ref class WebAuditEvent : System::Web::Management::WebManagementEvent
public class WebAuditEvent : System.Web.Management.WebManagementEvent
type WebAuditEvent = class
inherit WebManagementEvent
Public Class WebAuditEvent
Inherits WebManagementEvent
- 繼承
- 衍生
範例
下列程式碼範例示範如何衍生自 類別, WebAuditEvent 以建立自訂稽核事件。
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace SamplesAspNet
{
// Implements a custom WebAuditEvent class.
public class SampleWebAuditEvent : System.Web.Management.WebAuditEvent
{
private string customCreatedMsg, customRaisedMsg;
// Invoked in case of events identified only by their event code.
public SampleWebAuditEvent(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 SampleWebAuditEvent(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 SampleWebAuditEvent.
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()
{
// Obtain the Web request information.
// No customization is allowed here.
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(
"******** SampleWebAuditEvent Information 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(
"******** SampleWebAuditEvent Information End ********");
formatter.IndentationLevel -= 1;
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
' Implements a custom WebAuditEvent class.
Public Class SampleWebAuditEvent
Inherits System.Web.Management.WebAuditEvent
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 SampleWebAuditEvent.
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
' Obtain the Web request information.
' No customization is allowed here.
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("******** SampleWebAuditEvent Information 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("******** SampleWebAuditEvent Information 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="SampleWebAuditEvent"
type="SamplesAspNet.SampleWebAuditEvent,
webauditevent,Version=1.0.1663.31140,
Culture=neutral,
PublicKeyToken=0d1fa0f69d94de96,
processorArchitecture=MSIL"/>
</eventMappings>
<rules>
<add name="Custom Audit Default"
eventName="SampleWebAuditEvent"
provider="EventLogProvider"
profile="Default"/>
</rules>
</healthMonitoring>
備註
ASP.NET 健康情況監視可讓生產與作業人員管理已部署的 Web 應用程式。 System.Web.Management命名空間包含負責封裝應用程式健康狀態資料的健全狀況事件種類,以及負責處理此資料的提供者類型。 它也包含支援類型,可協助管理健康情況事件。
類別 WebAuditEvent 是基類,ASP.NET 健康情況監視稽核事件類別衍生自此基類。 稽核事件會產生 Web 應用程式中安全性相關作業的相關資訊,並提供每個稽核作業的成功和失敗事件。
健康情況監視系統可以稽核成功和失敗的事件,這表示可以監視應用程式是否有正常和故障的狀況。 根據預設,只會記錄失敗稽核事件。
下列作業是由 ASP.NET 稽核,而且可能會產生成功或失敗的健康情況監視稽核事件:
使用者對 ASP.NET 應用程式所做的登入嘗試。 如需此稽核的詳細資訊,請參閱 WebAuthenticationSuccessAuditEvent 和 WebSuccessAuditEvent 。
安全性相關事件,例如驗證失敗、資源存取嘗試失敗,以及其他安全性相關事件。 調查入侵或攻擊應用程式時,這些事件的記錄可能會很有用。 根據預設,匿名使用者的授權失敗不會提供稽核支援。 如需失敗事件稽核的詳細資訊,請參閱 WebAuthenticationFailureAuditEvent 和 WebFailureAuditEvent 。
ASP.NET 應用程式所引發的自訂事件。 您可以擴充 類別和衍生類別所提供的 WebAuditEvent 功能,以稽核自訂事件
注意
在大部分情況下,您將能夠使用實作 ASP.NET 健康情況監視類型,而且您會在組態區段中指定值 healthMonitoring
來控制健康情況監視系統。 您也可以從健康情況監視類型衍生,以建立您自己的自訂事件和提供者。 如需衍生自 類別的 WebAuditEvent 範例,請參閱本主題中提供的範例。
給繼承者的注意事項
格式化自訂事件資訊以顯示時,請覆寫 FormatCustomEventDetails(WebEventFormatter) 方法,而不是 ToString 方法。 這可避免覆寫或竄改敏感性系統資訊。
建構函式
WebAuditEvent(String, Object, Int32) |
使用提供的參數來初始化 WebAuditEvent 類別的新執行個體。 |
WebAuditEvent(String, Object, Int32, Int32) |
使用指定的事件參數,初始化 WebAuditEvent 類別的新執行個體。 |
屬性
EventCode |
取得與事件關聯的代碼值。 (繼承來源 WebBaseEvent) |
EventDetailCode |
取得事件詳細資料代碼。 (繼承來源 WebBaseEvent) |
EventID |
取得與此事件相關聯的識別項。 (繼承來源 WebBaseEvent) |
EventOccurrence |
取得計數器,表示事件發生的次數。 (繼承來源 WebBaseEvent) |
EventSequence |
取得應用程式引發此事件的次數。 (繼承來源 WebBaseEvent) |
EventSource |
取得引發事件的物件。 (繼承來源 WebBaseEvent) |
EventTime |
取得事件引發的時間。 (繼承來源 WebBaseEvent) |
EventTimeUtc |
取得事件引發的時間。 (繼承來源 WebBaseEvent) |
Message |
取得描述事件的訊息。 (繼承來源 WebBaseEvent) |
ProcessInformation |
取得關於 ASP.NET 應用程式裝載處理序的資訊。 (繼承來源 WebManagementEvent) |
RequestInformation |
取得與 Web 要求相關的資訊。 |
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
FormatCustomEventDetails(WebEventFormatter) |
提供事件資訊的標準格式。 (繼承來源 WebBaseEvent) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
IncrementPerfCounters() |
在內部使用,以逐步遞增效能計數器。 (繼承來源 WebBaseEvent) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
Raise() |
告知設定的提供者事件已發生來引發事件。 (繼承來源 WebBaseEvent) |
ToString() |
針對顯示用途,格式化事件資訊。 (繼承來源 WebBaseEvent) |
ToString(Boolean, Boolean) |
針對顯示用途,格式化事件資訊。 (繼承來源 WebBaseEvent) |