Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
En el ejemplo del tema Ejemplo de proveedor personalizado de supervisión de estado de ASP.NET se muestra la forma de crear un proveedor personalizado que procese los eventos de estado de ASP.NET. En el ejemplo de código se muestra cómo se deriva de la clase BufferedWebEventProvider para crear un proveedor personalizado que escriba la información de eventos en un archivo local.
El ejemplo es deliberadamente sencillo. Se intenta proporcionar el control total de los mecanismos básicos de un proveedor personalizado. En un escenario real, podría utilizarse el código de ejemplo como análisis preliminar del comportamiento de una aplicación para ayudar a comprender la información proporcionada por la supervisión de estado de ASP.NET.
El proveedor del ejemplo muestra las siguientes características:
Generación de un proveedor personalizado mediante la herencia de BufferedWebEventProvider. Este proveedor incluye la capacidad de mantener información de eventos basada en factores diversos (como un intervalo de tiempo especificado) antes de registrarla.
Configuración de un proveedor personalizado.
Comunicación con el Visor de eventos de Windows.
Los requisitos para ejecutar este ejemplo son:
Tener instalado Internet Information Services (IIS) en el servidor donde se ejecuta la aplicación Web. Para obtener más información, vea Cómo: Crear y configurar directorios virtuales en IIS 5.0 y 6.0 o busque Internet Information Services en https://www.microsoft.com/spanish/.
Una aplicación Web ASP.NET.
Para generar el proveedor de eventos personalizados
Compile el proveedor de eventos personalizados como una biblioteca y colóquela en el directorio Bin de la aplicación ASP.NET, o asigne al ensamblado un nombre seguro y colóquelo en la caché de ensamblados global (GAC).
En el ejemplo de comando siguiente se muestra cómo se puede compilar el ejemplo mediante el compilador de línea de comandos.
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>
Nota:Si no puede ejecutar el comando del compilador, debe agregar la ruta de acceso de la instalación de .NET Framework a la variable PATH de Windows antes de ejecutarlo. En Windows, haga clic con el botón secundario del mouse en Mi PC, haga clic en Propiedades, haga clic en la ficha Avanzadas y, a continuación, haga clic en el botón Variables de entorno. En la lista Variables del sistema, haga doble clic en la variable Path. En el cuadro de texto Valor de variable, agregue un punto y coma (;) al final de los valores existentes en el cuadro de texto y, a continuación, escriba la ruta de acceso a la instalación de .NET Framework. Generalmente, .NET Framework está instalado en la carpeta de instalación de Windows, en \Microsoft.NET\Framework\númeroDeVersión.
Para configurar la aplicación que se va a utilizar en el ejemplo
Si la aplicación ya contiene un archivo denominado Web.config en la carpeta raíz, ábralo. De lo contrario, cree un archivo de texto denominado Web.config y agregue el texto siguiente.
<?xml version="1.0"?> <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> <system.web> </system.web> </configuration>En las etiquetas system.web, agregue el elemento healthMonitoring siguiente.
<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>Los valores de configuración del elemento healthMonitoring utilizan un elemento providers para agregar el proveedor personalizado y especifican un elemento profiles que (en este caso) protege el servidor mediante la limitación del número de veces que se puede provocar el evento. En el ejemplo también se incluye un elemento rules para asociar un evento al perfil y al proveedor.
El atributo type sólo puede mostrar el nombre de clase, como en el ejemplo de código anterior, o un nombre de tipo completo, como en el ejemplo siguiente:
type="Samples.AspNet.Management.SampleWebRequestEvent, Sample.SampleCustomEventProvider,Version=1.0.0.0,Culture=neutral, PublicKeyToken=xxxxxxxxxxxx"
Nota:Solamente se requiere el nombre de tipo completo si se ha instalado la clase en la GAC o en el directorio Bin.
Para probar el evento Web personalizado
En el explorador, solicite cualquier página de la aplicación Web.
La ejecución de cualquier página en la aplicación provoca el evento personalizado.
Para ver los datos del evento personalizado, abra el archivo de registro especificado por la variable logFilePath en el código.
Vea también
Conceptos
Ejemplo de proveedor personalizado de supervisión de estado de ASP.NET
Información general sobre la supervisión de estado en ASP.NET
Referencia
Elemento healthMonitoring (esquema de configuración de ASP.NET)