WebApplicationLifetimeEvent Clase

Definición

Representa un evento significativo en el período de duración de una aplicación.

public ref class WebApplicationLifetimeEvent : System::Web::Management::WebManagementEvent
public class WebApplicationLifetimeEvent : System.Web.Management.WebManagementEvent
type WebApplicationLifetimeEvent = class
    inherit WebManagementEvent
Public Class WebApplicationLifetimeEvent
Inherits WebManagementEvent
Herencia
WebApplicationLifetimeEvent

Ejemplos

En el ejemplo de código siguiente se muestra cómo derivar de la WebApplicationLifetimeEvent clase para crear un evento personalizado.


using System;
using System.Text;
using System.Web;
using System.Web.Management;

namespace SamplesAspNet
{
  // Implements a custom WebManagementEvent class. 
    public class SampleWebApplicationLifetimeEvent :
        System.Web.Management.WebApplicationLifetimeEvent
    {
        private string customCreatedMsg, customRaisedMsg;

        // Invoked in case of events identified only by 
        // their event code.
        public SampleWebApplicationLifetimeEvent(string msg, 
            object eventSource, int eventCode):
          base(msg, eventSource, eventCode)
        {
            // Perform custom initialization.
            customCreatedMsg =
            string.Format("Event created at: {0}",
            DateTime.Now.TimeOfDay.ToString());
        }

        // Invoked in case of events identified by their 
        // event code.and related event detailed code.
        public SampleWebApplicationLifetimeEvent(string msg, 
            object eventSource, int eventCode, 
            int eventDetailCode):
          base(msg, eventSource, eventCode, eventDetailCode)
        {
            // Perform custom initialization.
            customCreatedMsg =
             string.Format("Event created at: {0}",
             DateTime.Now.TimeOfDay.ToString());
        }


        // Raises the SampleWebRequestEvent.
        public override void Raise()
        {
            // Perform custom processing. 
            customRaisedMsg = string.Format(
                "Event raised at: {0}\n", 
                DateTime.Now.TimeOfDay.ToString());
            // Raise the event.
            base.Raise();
        }

        //Formats Web request event information.
        public override void FormatCustomEventDetails(
            WebEventFormatter formatter)
        {
            base.FormatCustomEventDetails(formatter);

            // Add custom data.
            formatter.AppendLine("");

            formatter.IndentationLevel += 1;
    
            formatter.TabSize = 4;
       
            formatter.AppendLine(
                 "*SampleWebApplicationLifetimeEvent Start *");
            formatter.AppendLine("Custom information goes here");
            formatter.AppendLine(
                "* SampleWebApplicationLifetimeEvent End *");
            // Display custom event timing.
            formatter.AppendLine(customCreatedMsg);
            formatter.AppendLine(customRaisedMsg);
        
            formatter.IndentationLevel -= 1;
        }
    }
}
Imports System.Text
Imports System.Web
Imports System.Web.Management


' Implements a custom WebManagementEvent class. 

Public Class SampleWebApplicationLifetimeEvent
    Inherits System.Web.Management.WebApplicationLifetimeEvent
    Private customCreatedMsg, customRaisedMsg As String
    
    ' Invoked in case of events identified only by 
    ' their event code.
    Public Sub New(ByVal msg As String, _
    ByVal eventSource As Object, _
    ByVal eventCode As Integer)
        MyBase.New(msg, eventSource, eventCode)
        ' Perform custom initialization.
        customCreatedMsg = _
        String.Format("Event created at: {0}", _
        DateTime.Now.TimeOfDay.ToString())

    End Sub
    
    
    ' Invoked in case of events identified by their 
    ' event code.and related event detailed code.
    Public Sub New(ByVal msg As String, _
    ByVal eventSource As Object, _
    ByVal eventCode As Integer, _
    ByVal eventDetailCode As Integer)
        MyBase.New(msg, eventSource, _
        eventCode, eventDetailCode)
        ' Perform custom initialization.
        customCreatedMsg = _
        String.Format("Event created at: {0}", _
        DateTime.Now.TimeOfDay.ToString())
    End Sub


    ' Raises the SampleWebRequestEvent.
    Public Overrides Sub Raise() 
        ' Perform custom processing. 
        customRaisedMsg = _
        String.Format("Event raised at: {0}" + _
        vbLf, DateTime.Now.TimeOfDay.ToString())
        ' Raise the event.
        MyBase.Raise()
    
    End Sub
    
    'Formats Web request event information.
    Public Overrides Sub FormatCustomEventDetails( _
    ByVal formatter As WebEventFormatter)
        MyBase.FormatCustomEventDetails(formatter)

        ' Add custom data.
        formatter.AppendLine("")

        formatter.IndentationLevel += 1

        formatter.TabSize = 4

        formatter.AppendLine( _
        "*SampleWebApplicationLifetimeEvent Start *")
        formatter.AppendLine("Custom information goes here")
        formatter.AppendLine( _
        "* SampleWebApplicationLifetimeEvent End *")
        ' Display custom event timing.
        formatter.AppendLine(customCreatedMsg)
        formatter.AppendLine(customRaisedMsg)

        formatter.IndentationLevel -= 1

    End Sub
End Class

El siguiente extracto de archivo de configuración muestra cómo configurar la healthMonitoring sección de un archivo de configuración para agregar el SampleWebApplicationLifetimeEvent código definido anteriormente al sistema de supervisión de estado de ASP.NET. Para agregar el evento al sistema, debe definir el evento agregando una nueva entrada a la eventMappings sección y asignar el evento a un proveedor agregando una nueva entrada a la rules sección.

<healthMonitoring  
  enabled="true"  
  heartBeatInterval="0">  

    <eventMappings>  
       <clear />  
       <!-- Configure the application lifetime event -->  
       <!-- object to handle the Web application events. -->  
       <add name="SampleApplicationLifetimeEvents"  
         type="System.Web.Management.SampleWebApplicationLifetimeEvent,  
         System.Web,Version=2.0.3600.0,  
         Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />  
     </eventMappings>  

    <rules>  
      <clear/>  
       // Configure the connection between the   
       // application lifetime event object   
       // and the provider that must process it.  
       <add name="Custom Application Events"  
         eventName="SampleApplicationLifetimeEvents"  
         provider="EventLogProvider"  
         profile="Default"  
         minInterval="00:01:00" />  
    </rules>  

</healthMonitoring>  

Comentarios

ASP.NET supervisión de estado permite al personal de producción y operaciones administrar las aplicaciones web implementadas. El System.Web.Management espacio de nombres contiene los tipos de eventos de mantenimiento responsables de empaquetar los datos de estado de mantenimiento de la aplicación y los tipos de proveedor responsables de procesar estos datos. También contiene tipos auxiliares que ayudan durante la administración de eventos de mantenimiento.

Los eventos de duración de la aplicación incluyen eventos como los eventos de inicio y apagado de la aplicación. Si una aplicación finaliza, puede determinar por qué visualizando el campo de mensaje de evento relacionado.

Cuando se produce una WebApplicationLifetimeEvent instancia, ASP.NET supervisión de estado actualiza el contador de rendimiento Eventos de duración de la aplicación. Para registrar estos eventos, agregue el WebApplicationLifetimeEvent objeto a la rules subsección de la healthMonitoring sección del archivo de configuración, como se muestra en el ejemplo siguiente.

<rules>  
  <add name="Application Events"  
    eventName="Application Lifetime Events"  
    provider="EventLogProvider"  
    profile="Default"  
    minInterval="00:01:00" />  
</rules>  

El contador de rendimiento Eventos de duración de la aplicación contiene la suma total de todos los eventos de duración de ASP.NET. Para ver este contador de rendimiento en System Monitor (PerfMon), en la ventana Agregar contadores , seleccione ASP.NET en la lista desplegable Objeto de rendimiento. Seleccione el contador de rendimiento Eventos de duración de la aplicación y haga clic en el botón Agregar . Para obtener más información, vea "Uso del Monitor de sistema (PerfMon) con ASP.NET Aplicaciones" en MSDN. Si permite que los eventos se registren mediante el estándar EventLogWebEventProvider, puede verlos en Visor de eventos seleccionando el registro de la aplicación.

Precaución

Dado que el WebApplicationLifetimeEvent objeto es un evento de gran volumen, registrarlo consume muchos recursos y podría ralentizar el sistema. También puede hacer que otros eventos se sobrescriban en el caso de la EventLogWebEventProvider clase debido al gran volumen de eventos y la forma en que funciona el registro de eventos.

Nota:

En la mayoría de los casos, podrá usar los tipos de supervisión de estado ASP.NET tal como se implementa y controlará el sistema de supervisión de estado especificando valores en la healthMonitoring sección de configuración. También puede derivar de los tipos de supervisión de estado para crear sus propios eventos y proveedores personalizados. Para obtener un ejemplo de derivación de la WebApplicationLifetimeEvent clase , vea el ejemplo proporcionado en este tema.

Notas a los desarrolladores de herederos

Al dar formato a la información de eventos personalizada para su presentación, invalide el FormatCustomEventDetails(WebEventFormatter) método en lugar del ToString método . Esto evitará sobrescribir o alterar la información confidencial del sistema.

Constructores

WebApplicationLifetimeEvent(String, Object, Int32)

Inicializa la clase WebApplicationLifetimeEvent usando los parámetros proporcionados.

WebApplicationLifetimeEvent(String, Object, Int32, Int32)

Inicializa la clase WebApplicationLifetimeEvent usando los parámetros proporcionados.

Propiedades

EventCode

Obtiene el valor de código asociado al evento.

(Heredado de WebBaseEvent)
EventDetailCode

Obtiene el código de detalle de evento.

(Heredado de WebBaseEvent)
EventID

Obtiene el identificador asociado al evento.

(Heredado de WebBaseEvent)
EventOccurrence

Obtiene un contador que representa el número de veces que se ha producido el evento.

(Heredado de WebBaseEvent)
EventSequence

Obtiene el número de veces que la aplicación ha provocado el evento.

(Heredado de WebBaseEvent)
EventSource

Obtiene el objeto que provoca el evento.

(Heredado de WebBaseEvent)
EventTime

Obtiene la hora a la que se produjo el evento.

(Heredado de WebBaseEvent)
EventTimeUtc

Obtiene la hora a la que se produjo el evento.

(Heredado de WebBaseEvent)
Message

Obtiene el mensaje que describe el evento.

(Heredado de WebBaseEvent)
ProcessInformation

Obtiene información sobre el proceso de hospedaje de aplicaciones ASP.NET.

(Heredado de WebManagementEvent)

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
FormatCustomEventDetails(WebEventFormatter)

Da un formato estándar a la información de eventos.

(Heredado de WebBaseEvent)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IncrementPerfCounters()

Se utiliza internamente para incrementar los contadores de rendimiento.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Raise()

Provoca un evento mediante la notificación a cualquier proveedor configurado de que el evento se ha producido.

(Heredado de WebBaseEvent)
ToString()

Aplica formato a información de evento para su presentación.

(Heredado de WebBaseEvent)
ToString(Boolean, Boolean)

Aplica formato a información de evento para su presentación.

(Heredado de WebBaseEvent)

Se aplica a

Consulte también