Compartilhar via


Como: Implementar o integridade Monitoring Custom provedor Example

The example in the topic Exemplo de Provedor de Monitoração de integridade ASP.NET Personalizados illustrates how to create a custom provider that processes ASP.NET health events.The code example shows how to derive from the BufferedWebEventProvider class to create a custom provider that writes the event information to a local file.

O exemplo é deliberadamente simples.A tentativa é fornecer a você total controle de mecanismos básicos de um provedor personalizado.Em um cenário do mundo real, você pode usar o código de exemplo como um sonda preliminar para o comportamento de um aplicativo para ajudar você a entender as informações fornecidas pelo monitoramento de integridade ASP.NET.

O provedor exemplo demonstra os seguintes recursos:

  • Building a custom provider by inheriting from the BufferedWebEventProvider.This provider includes the ability to hold event information based on various factors (such as a specified time interval) before logging it.

  • Configurar um provedor personalizado.

  • Conectar por meio de interface com visualizador de eventos do Windows.

Executar o exemplo requer o seguinte:

Para criar o provedor de evento personalizado

  • Compile o provedor de evento personalizado como uma biblioteca e coloque a biblioteca em seu diretório de bandeja do aplicativo ASP.NET ou nomeie o assembly e coloque-o no cache global de assemblies (GAC).

    O exemplo de comando a seguir mostra como você pode compilar o exemplo usando o compilador de linha de comando.

    vbc /out:<example_name>.dll /t:library <example_name>.vb /r:System.Web.dll /r:System.Configuration.dll /r:<required namespace>
    
    csc /out:<example_name>.dll /t:library <example_name>.cs /r:System.Web.dll /r:System.Configuration.dll  /r:<required namespace>
    
    Observação:

    Se você não pode executar o comando compilador, você deve adicionar o caminho de instalação do .NET estrutura para o Windows PATH variável antes de executar o comando. No Windows, clique com o botão direito do mouse My Computer, clique em Properties, clique na guia Advanced e, em seguida, clique no botão Environment Variables.Na lista Variáveis do sistema, clique duas vezes na variável Path.Na caixa de texto Variable value, adicione um ponto-e-vírgula (;) até o final dos valores existentes na caixa de texto e digite o caminho da instalação do .NET Framework.The .NET Framework is usually installed in the Windows installation folder at \Microsoft.NET\Framework\versionNumber.

Para configurar o aplicativo para usar o exemplo

  1. Se seu aplicativo já contém um arquivo chamado Web.config na pasta raiz, abra-o.Caso contrário, crie um arquivo de texto chamado Web.config e adicione o texto seguinte.

    <?xml version="1.0"?>
    <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
      <system.web>
      </system.web>
    </configuration>
    
  2. Dentro das tags System.Web, adicione o seguinte elemento healthMonitoring.

    <healthMonitoring
        heartBeatInterval="0" enabled="true">
      <bufferModes>
        <add name="Custom Notification"
          maxBufferSize="10"
          maxFlushSize="5"
          urgentFlushThreshold="2"
          regularFlushInterval="Infinite"
          urgentFlushInterval="00:00:30"
        />
      </bufferModes>
      <providers>
        <add name="SampleEventProvider" type="Samples.AspNet.Management.SampleBufferedEventProvider" 
        buffer="true"
        bufferMode="Custom Notification" />
      </providers>
      <profiles>
        <add name="Custom"
          minInstances="1"
          maxLimit="Infinite"
          minInterval="00:00:00" />
      </profiles>
      <rules>
        <add name="Custom Event Provider"
          eventName="All Events"
          provider="SampleEventProvider"
          profile="Custom" />
      </rules>
    </healthMonitoring>
    

    The settings in the healthMonitoring element use a providers element to add the custom provider and specify a profiles element that (in this case) protects the server by limiting the number of times the event can be raised.O exemplo também inclui um elemento rules para associar um evento com o perfil e o provedor.

    The type attribute can list just the class name as it does in the previous code example, or it can list a fully qualified type, as in the following example:

    type="Samples.AspNet.Management.SampleWebRequestEvent,
    Sample.SampleCustomEventProvider,Version=1.0.0.0,Culture=neutral, 
    PublicKeyToken=xxxxxxxxxxxx"
    
    Observação:

    O tipo totalmente qualificado é necessário somente se a classe tiver sido instalada no GAC ou no diretório bandeja.

Para testar o evento Web personalizado

  1. No seu navegador, solicite qualquer página do aplicativo da Web.

    Executar qualquer página no aplicativo aumenta o evento personalizado.

  2. To view your custom event data, open the log file specified by the logFilePath variable in the code.

Consulte também

Conceitos

Exemplo de Provedor de Monitoração de integridade ASP.NET Personalizados

Visão Geral do Monitoramento da Integridade do ASP.NET

Referência

<healthMonitoring> Element

EventLogWebEventProvider

Outros recursos

Criando sites da Web ASP.NET