WebProcessInformation Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece informações sobre o processo de trabalho que hospeda o ASP.NET.
public ref class WebProcessInformation sealed
public sealed class WebProcessInformation
type WebProcessInformation = class
Public NotInheritable Class WebProcessInformation
- Herança
-
WebProcessInformation
Exemplos
O exemplo a seguir divide-se em duas partes. O primeiro é um trecho de um arquivo de configuração que permite que ASP.NET usem um evento personalizado que usa o WebProcessInformation tipo.
O segundo mostra como implementar o evento personalizado.
Certifique-se de que o evento personalizado seja gerado no momento adequado, ou seja, quando o evento de integridade do sistema equivalente que ele substitui for gerado.
<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>
O exemplo a seguir mostra como implementar um evento personalizado que usa o WebProcessInformation tipo.
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
Comentários
ASP.NET monitoramento de integridade permite que a equipe de produção e operações gerencie aplicativos Web implantados. O System.Web.Management namespace contém os tipos de eventos de integridade responsáveis por empacotar dados de status de integridade do aplicativo e os tipos de provedor responsáveis por processar esses dados. Ele também contém tipos de suporte que ajudam durante o gerenciamento de eventos de integridade.
As instâncias da WebProcessInformation classe contêm informações obtidas usando qualquer um dos tipos derivados do WebManagementEvent tipo.
Seu aplicativo precisa das permissões apropriadas para acessar as informações protegidas fornecidas por esse tipo.
O exemplo a seguir é um trecho do arquivo de configuração que você pode usar para habilitar ASP.NET registrar eventos de erro que contêm informações do processo.
<healthMonitoring
enabled="true" heartBeatInterval="0">
<rules>
<add
name="All Errors Default"
eventName="All Errors"
provider="EventLogProvider"
profile="Default"
minInterval="00:01:00" />
</rules>
</healthMonitoring>
Observação
Na maioria dos casos, você poderá usar os tipos de monitoramento de integridade ASP.NET conforme implementado e controlará o sistema de monitoramento de integridade especificando valores na healthMonitoring
seção de configuração. Você também pode derivar dos tipos de monitoramento de integridade para criar seus próprios eventos e provedores personalizados. Para obter um exemplo de criação de uma classe de evento personalizada, consulte a seção Exemplo.
Propriedades
AccountName |
Obtém o nome da conta do processo de trabalho. |
ProcessID |
Obtém o identificador de processo. |
ProcessName |
Obtém o nome do processo. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
FormatToString(WebEventFormatter) |
Formata as informações do aplicativo. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |