WebRequestEvent 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为提供 Web 请求信息的事件定义基类。
public ref class WebRequestEvent : System::Web::Management::WebManagementEvent
public class WebRequestEvent : System.Web.Management.WebManagementEvent
type WebRequestEvent = class
inherit WebManagementEvent
Public Class WebRequestEvent
Inherits WebManagementEvent
- 继承
示例
下面的代码示例演示如何从 WebRequestEvent 类派生以创建自定义事件。
using System;
using System.Text;
using System.Web;
using System.Web.Management;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace SamplesAspNet
{
// Implements a custom WebRequestEvent.
public class SampleWebRequestEvent :
System.Web.Management.WebRequestEvent
{
private string customCreatedMsg,
customRaisedMsg;
// Invoked in case of events identified only
// by their event code.
public SampleWebRequestEvent(
string msg,
object eventSource, int eventCode):
base(msg, eventSource, eventCode)
{
// Perform custom initialization.
customCreatedMsg =
string.Format(
"Event created at: {0}",
EventTime.ToString());
}
// Invoked in case of events identified
// by their event code.and
// related event detailed code.
public SampleWebRequestEvent(string msg,
object eventSource, int eventCode,
int eventDetailCode):
base(msg, eventSource, eventCode,
eventDetailCode)
{
// Perform custom initialization.
customCreatedMsg =
string.Format(
"Event created at: {0}",
EventTime.ToString());
}
// Raises the SampleWebRequestEvent.
public override void Raise()
{
// Perform custom processing.
customRaisedMsg =
string.Format(
"Event raised at: {0}",
EventTime.ToString());
// Raise the event.
base.Raise();
}
//Formats Web request event information.
public override void FormatCustomEventDetails(
WebEventFormatter formatter)
{
// Add custom data.
formatter.AppendLine("");
formatter.IndentationLevel += 1;
formatter.AppendLine(
"* Custom Request Information Start *");
//// Display custom event timing.
formatter.AppendLine(customCreatedMsg);
formatter.AppendLine(customRaisedMsg);
formatter.AppendLine(
"* Custom Request Information End *");
formatter.IndentationLevel -= 1;
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
Imports System.Web.UI
Imports System.Web.UI.WebControls
' Implements a custom WebRequestEvent.
Public Class SampleWebRequestEvent
Inherits System.Web.Management.WebRequestEvent
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}", _
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 eventDetailCode As Integer)
MyBase.New(msg, eventSource, _
eventCode, eventDetailCode)
' Perform custom initialization.
customCreatedMsg = String.Format( _
"Event created at: {0}", _
EventTime.ToString())
End Sub
' Raises the SampleWebRequestEvent.
Public Overrides Sub Raise()
' Perform custom processing.
customRaisedMsg = String.Format( _
"Event raised at: {0}", _
EventTime.ToString())
' Raise the event.
MyBase.Raise()
End Sub
'Formats Web request event information.
Public Overrides Sub FormatCustomEventDetails( _
ByVal formatter As WebEventFormatter)
' Add custom data.
formatter.AppendLine("")
formatter.IndentationLevel += 1
formatter.AppendLine( _
"* Custom Request Information Start *")
'// Display custom event timing.
formatter.AppendLine(customCreatedMsg)
formatter.AppendLine(customRaisedMsg)
formatter.AppendLine( _
"* Custom Request Information End *")
formatter.IndentationLevel -= 1
End Sub
End Class
以下是配置文件的摘录,使 ASP.NET 能够使用自定义事件。
<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="SampleWebRequestEvent"
type="SamplesAspNet.SampleWebRequestEvent,webrequestevent,Version=1.0.1573.23947, Culture=neutral, PublicKeyToken=e717d983a78c8ddb, processorArchitecture=MSIL"/>
</eventMappings>
<rules>
<!-- Associate custom event with
related custom provider -->
<add
name="CustomWebRequestEvent"
eventName="SampleWebRequestEvent"
provider="SampleWebEventProvider"
profile="Critical"/>
</rules>
</healthMonitoring>
注解
每个 Web 请求都会引发该 WebRequestEvent 请求。
它使用 WebRequestInformation 类来获取请求信息。
备注
在大多数情况下,你将使用标准 ASP.NET 运行状况监视类型,并通过设置healthMonitoring
配置部分来控制其行为。 还可以创建自定义类型,如下一个示例所示。 如果创建自定义事件类型,并且需要添加自己的信息,请自定义 FormatCustomEventDetails 该方法。 这将避免覆盖或篡改敏感系统信息。
构造函数
WebRequestEvent(String, Object, Int32) |
使用指定的事件参数对 WebRequestEvent 类进行初始化。 |
WebRequestEvent(String, Object, Int32, Int32) |
使用指定的事件参数对 WebRequestEvent 类进行初始化。 |
属性
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() |
在内部使用,用于递增性能计数器。 |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
Raise() |
通过将事件已发生这一情况通知任何已配置的提供程序来引发事件。 (继承自 WebBaseEvent) |
ToString() |
为显示而对事件信息进行格式化。 (继承自 WebBaseEvent) |
ToString(Boolean, Boolean) |
为显示而对事件信息进行格式化。 (继承自 WebBaseEvent) |