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 é 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 relacionados à saúde responsáveis por empacotar dados sobre o estado de saúde 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 as 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>

Note

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 seção de configuração healthMonitoring. 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 o exemplo fornecido neste tópico.

Propriedades

Nome Description
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

Nome Description
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 hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

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

Aplica-se a

Confira também