WebProcessInformation Class
Provides information about the worker process that hosts ASP.NET.
Assembly: System.Web (in System.Web.dll)
| Name | Description | |
|---|---|---|
![]() | AccountName | Gets the account name for the worker process. |
![]() | ProcessID | Gets the process identifier. |
![]() | ProcessName | Gets the name of the process. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | FormatToString(WebEventFormatter) | Formats the application information. |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
ASP.NET health monitoring allows production and operations staff to manage deployed Web applications. The System.Web.Management namespace contains the health-event types responsible for packaging application health-status data, and the provider types responsible for processing this data. It also contains supporting types that help during the management of health events.
Instances of the WebProcessInformation class contain information that is obtained using any of the types derived from the WebManagementEvent type.
Your application needs the appropriate permissions to access protected information provided by this type.
The following example is an excerpt of the configuration file you could use to enable ASP.NET to log error events that contain process information.
<healthMonitoring
enabled="true" heartBeatInterval="0">
<rules>
<add
name="All Errors Default"
eventName="All Errors"
provider="EventLogProvider"
profile="Default"
minInterval="00:01:00" />
</rules>
</healthMonitoring>
Note |
|---|
In most cases you will be able to use the ASP.NET health-monitoring types as implemented, and you will control the health-monitoring system by specifying values in the healthMonitoring configuration section. You can also derive from the health-monitoring types to create your own custom events and providers. For an example of creating a custom event class, see the Example section. |
The following example has two parts. The first is an excerpt of a configuration file that enables ASP.NET to use a custom event that uses the WebProcessInformation type.
The second shows how to implement the custom event.
Ensure that your custom event is raised at the proper time, that is, when the equivalent system health event it replaces would be raised.
<healthMonitoring
enabled="true" heartBeatInterval="0">
<eventMappings>
<add
name="SampleProcessInformation"
type="SamplesAspNet.SampleWebProcessInformation, webprocessinformation, Version=1.0.1585.27289, Culture=neutral, PublicKeyToken=3648e5c763a8239f, processorArchitecture=MSIL"/>
</eventMappings>
<rules>
<add
name="Custom Process Information"
eventName="SampleProcessInformation"
provider="EventLogProvider"
profile="Default"/>
</rules>
</healthMonitoring>
The following example shows how to implement a custom event that uses the WebProcessInformation type.
Imports System Imports System.Text Imports System.Web Imports System.Web.Management ' Implements a custom WebBaseEvent type that ' uses WebProcessInformation. Public Class SampleWebProcessInformation Inherits WebBaseEvent Private eventInfo As StringBuilder Private Shared processInformation _ As WebProcessInformation ' Instantiate SampleWebProcessInformation. Public Sub New(ByVal msg As String, _ ByVal eventSource As Object, ByVal eventCode As Integer) MyBase.New(msg, eventSource, eventCode) ' Perform custom initialization. eventInfo = New StringBuilder eventInfo.Append(String.Format( _ "Event created at: {0}", _ EventTime.ToString())) End Sub 'NewNew ' Raises the event. Public Overrides Sub Raise() ' Perform custom processing. eventInfo.Append(String.Format( _ "Event raised at: {0}", _ EventTime.ToString())) ' Raise the event. MyBase.Raise() End Sub 'Raise Public Function GetAccountName() As String ' Get the name of the account. Return String.Format("Account name: {0}", _ processInformation.AccountName) End Function 'GetAccountName Public Function GetProcessId() As String ' Get the process identifier. Return String.Format("Process Id: {0}", _ processInformation.ProcessID.ToString()) End Function 'GetProcessId Public Function GetProcessName() As String ' Get the requests in execution. Return String.Format("Process name: {0}", _ ProcessInformation.ProcessName) End Function 'GetProcessName 'Formats Web request event information. Public Overrides Sub FormatCustomEventDetails( _ ByVal formatter _ As System.Web.Management.WebEventFormatter) MyBase.FormatCustomEventDetails(formatter) ' Add custom data. formatter.AppendLine("") formatter.AppendLine( _ "Custom Process Information:") formatter.IndentationLevel += 1 ' Display the process information. formatter.AppendLine(GetAccountName()) formatter.AppendLine(GetProcessId()) formatter.AppendLine(GetProcessName()) formatter.IndentationLevel -= 1 formatter.AppendLine(eventInfo.ToString()) End Sub 'FormatToString End Class 'SampleWebProcessInformation
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


