WebProcessInformation Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Informationen über den Arbeitsprozess bereit, der ASP.NET hostet.
public ref class WebProcessInformation sealed
public sealed class WebProcessInformation
type WebProcessInformation = class
Public NotInheritable Class WebProcessInformation
- Vererbung
-
WebProcessInformation
Beispiele
Das folgende Beispiel besteht aus zwei Schritten. Der erste ist ein Auszug aus einer Konfigurationsdatei, die es ASP.NET ermöglicht, ein benutzerdefiniertes Ereignis zu verwenden, das den WebProcessInformation Typ verwendet.
Der zweite zeigt, wie das benutzerdefinierte Ereignis implementiert wird.
Stellen Sie sicher, dass Ihr benutzerdefiniertes Ereignis zum richtigen Zeitpunkt ausgelöst wird, d. h. wenn das entsprechende Systemintegritätsereignis ausgelöst wird, das ersetzt wird.
<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>
Im folgenden Beispiel wird gezeigt, wie ein benutzerdefiniertes Ereignis implementiert wird, das den WebProcessInformation Typ verwendet.
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace SamplesAspNet
{
// Implements a custom WebBaseEvent type that
// uses WebProcessInformation.
public class SampleWebProcessInformation:
WebManagementEvent
{
private StringBuilder eventInfo;
// Instantiate SampleWebProcessInformation.
public SampleWebProcessInformation(string msg,
object eventSource, int eventCode) :
base(msg, eventSource, eventCode)
{
// Perform custom initialization.
eventInfo = new StringBuilder();
eventInfo.Append(string.Format(
"Event created at: {0}",
EventTime.ToString()));
}
// Raises the event.
public override void Raise()
{
// Perform custom processing.
eventInfo.Append(string.Format(
"Event raised at: {0}",
EventTime.ToString()));
// Raise the event.
base.Raise();
}
public string GetAccountName()
{
// Get the name of the account.
return (string.Format(
"Account name: {0}",
ProcessInformation.AccountName));
}
public string GetProcessId()
{
// Get the process identifier.
return (string.Format(
"Process Id: {0}",
ProcessInformation.ProcessID.ToString()));
}
public string GetProcessName()
{
// Get the requests in execution.
return (string.Format(
"Process name: {0}",
ProcessInformation.ProcessName));
}
//Formats Web request event information.
public override void FormatCustomEventDetails(
WebEventFormatter formatter)
{
base.FormatCustomEventDetails(formatter);
// Add custom data.
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());
}
}
}
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
' 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
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
End Class
Hinweise
mit ASP.NET Integritätsüberwachung können Mitarbeiter von Produktion und Betrieb bereitgestellte Webanwendungen verwalten. Der System.Web.Management Namespace enthält die Integritätsereignistypen, die für das Packen von Integritätsstatusdaten der Anwendung verantwortlich sind, und die Anbietertypen, die für die Verarbeitung dieser Daten verantwortlich sind. Es enthält auch unterstützende Typen, die bei der Verwaltung von Integritätsereignissen helfen.
Instanzen der WebProcessInformation -Klasse enthalten Informationen, die mit einem der vom WebManagementEvent Typ abgeleiteten Typen abgerufen werden.
Ihre Anwendung benötigt die entsprechenden Berechtigungen für den Zugriff auf geschützte Informationen, die von diesem Typ bereitgestellt werden.
Das folgende Beispiel ist ein Auszug der Konfigurationsdatei, mit der Sie ASP.NET zum Protokollieren von Fehlerereignissen aktivieren können, die Prozessinformationen enthalten.
<healthMonitoring
enabled="true" heartBeatInterval="0">
<rules>
<add
name="All Errors Default"
eventName="All Errors"
provider="EventLogProvider"
profile="Default"
minInterval="00:01:00" />
</rules>
</healthMonitoring>
Hinweis
In den meisten Fällen können Sie die ASP.NET Typen der Integritätsüberwachung wie implementiert verwenden, und Sie steuern das System zur Integritätsüberwachung, indem Sie Werte im healthMonitoring
Konfigurationsabschnitt angeben. Sie können auch von den Integritätsüberwachungstypen ableiten, um eigene benutzerdefinierte Ereignisse und Anbieter zu erstellen. Ein Beispiel zum Erstellen einer benutzerdefinierten Ereignisklasse finden Sie im Abschnitt Beispiel.
Eigenschaften
AccountName |
Ruft den Kontonamen für den Arbeitsprozess ab. |
ProcessID |
Ruft den Prozessbezeichner ab. |
ProcessName |
Ruft den Namen des Prozesses ab. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FormatToString(WebEventFormatter) |
Formatiert die Anwendungsinformationen. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |