WebApplicationInformation Classe

Definição

Fornece informações associadas a eventos de integridade.

public ref class WebApplicationInformation sealed
public sealed class WebApplicationInformation
type WebApplicationInformation = class
Public NotInheritable Class WebApplicationInformation
Herança
WebApplicationInformation

Exemplos

O exemplo de código a seguir tem duas partes. A primeira parte é um trecho do arquivo de configuração que permite que ASP.NET usem um evento personalizado. O segundo mostra como criar esse evento personalizado usando a WebApplicationInformation classe .

Verifique se o evento personalizado é 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="SampleApplicationInformation"   
        type="SamplesAspNet.SampleWebApplicationInformation, webapplicationinformation, Version=1.0.1585.27289, Culture=neutral, PublicKeyToken=3648e5c763a8239f, processorArchitecture=MSIL"/>   
  </eventMappings>  

  <rules>   
    <add name="Custom Application Information"  
      eventName="SampleApplicationInformation"   
      provider="EventLogProvider"    
      profile="Default"/>   
</rules>  

</healthMonitoring>  
using System;
using System.Text;
using System.Web;
using System.Web.Management;

namespace SamplesAspNet
{
    // Implements a custom WebBaseEvent that uses
    // WebApplicationInformation.
    public class SampleWebApplicationInformation :
        WebBaseEvent
    {
        private StringBuilder eventInfo;

        // Instantiate SampleWebGet    
        public SampleWebApplicationInformation(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 GetApplicationDomain()
        {
            // Get the name of the application domain.
            return (string.Format(
                "Application domain: {0}",
                ApplicationInformation.ApplicationDomain));
        }
        public string GetApplicationPath()
        {
            // Get the name of the application  path.
            return (string.Format(
                "Application path: {0}",
                ApplicationInformation.ApplicationPath));
        }
        public string GetApplicationVirtualPath()
        {
            // Get the name of the application virtual path.
            return (string.Format(
                "Application virtual path: {0}",
                ApplicationInformation.ApplicationVirtualPath));
        }
        public string GetApplicationMachineName()
        {
            // Get the name of the application machine name.
            return (string.Format(
                "Application machine name: {0}",
                ApplicationInformation.MachineName));
        }
        public string GetApplicationTrustLevel()
        {
            // Get the name of the application trust level.
            return (string.Format(
                "Application trust level: {0}",
                ApplicationInformation.TrustLevel));
        }
        //Formats Web request event information.
        public override void FormatCustomEventDetails(
            WebEventFormatter formatter)
        {
            base.FormatCustomEventDetails(formatter);

            // Add custom data.
            formatter.AppendLine("");
            formatter.AppendLine(
            "Custom Application Information:");
            formatter.IndentationLevel += 1;

            // Display the application information.
            formatter.AppendLine(GetApplicationDomain());
            formatter.AppendLine(GetApplicationPath());
            formatter.AppendLine(GetApplicationVirtualPath());
            formatter.AppendLine(GetApplicationMachineName());
            formatter.AppendLine(GetApplicationTrustLevel());
            formatter.IndentationLevel -= 1;
            formatter.AppendLine(eventInfo.ToString());
        }
    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management


'Implements a custom WebBaseEvent that uses
' WebApplicationInformation. 
Public Class SampleWebApplicationInformation
    Inherits WebBaseEvent
    Private eventInfo As StringBuilder


    ' Instantiate SampleWebGet    
    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 GetApplicationDomain() As String
        ' Get the name of the application domain.
        Return String.Format( _
        "Application domain: {0}", _
        ApplicationInformation.ApplicationDomain)
    End Function 'GetApplicationDomain

    Public Function GetApplicationPath() As String
        ' Get the name of the application  path.
        Return String.Format( _
        "Application path: {0}", _
        ApplicationInformation.ApplicationPath())
    End Function 'GetApplicationPath

    Public Function GetApplicationVirtualPath() As String
        ' Get the name of the application virtual path.
        Return String.Format( _
        "Application virtual path: {0}", _
        ApplicationInformation.ApplicationVirtualPath())
    End Function 'GetApplicationVirtualPath

    Public Function GetApplicationMachineName() As String
        ' Get the name of the application machine name.
        Return String.Format( _
        "Application machine name: {0}", _
        ApplicationInformation.MachineName())
    End Function 'GetApplicationMachineName

    Public Function GetApplicationTrustLevel() As String
        ' Get the name of the application trust level.
        Return String.Format( _
        "Application trust level: {0}", _
        ApplicationInformation.TrustLevel())
    End Function 'GetApplicationTrustLevel

    'Formats Web request event information.
    Public Overrides Sub FormatCustomEventDetails( _
 _
     ByVal formatter As WebEventFormatter)
        MyBase.FormatCustomEventDetails(formatter)

        ' Add custom data.
        formatter.AppendLine( _
        "Custom Application Information:")
        formatter.IndentationLevel += 1

        ' Display the application information.
        formatter.AppendLine(GetApplicationDomain())
        formatter.AppendLine(GetApplicationPath())
        formatter.AppendLine(GetApplicationVirtualPath())
        formatter.AppendLine(GetApplicationMachineName())
        formatter.AppendLine(GetApplicationTrustLevel())
        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 evento 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 WebApplicationInformation classe contêm informações obtidas usando qualquer um dos tipos derivados do WebManagementEvent tipo .

Seu aplicativo precisa das permissões apropriadas para acessar informações protegidas fornecidas por esse tipo.

Veja a seguir um trecho de um arquivo de configuração que você pode usar para habilitar ASP.NET registrar eventos de erro que contêm informações do aplicativo.

<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 o ASP.NET tipos de monitoramento de integridade 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 provedores e eventos personalizados. Para obter um exemplo de criação de uma classe de evento personalizada, consulte o exemplo fornecido neste tópico.

Propriedades

ApplicationDomain

Obtém o nome de domínio do aplicativo atual.

ApplicationPath

Obtém o caminho físico do aplicativo.

ApplicationVirtualPath

Obtém o caminho lógico do aplicativo.

MachineName

Obtém o nome do computador do aplicativo.

TrustLevel

Obtém o nível de confiança do aplicativo.

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()

Formata as informações de evento para fins de exibição.

Aplica-se a

Confira também