Cómo: Crear y configurar un módulo HTTP
Esta documentación está archivada y no tiene mantenimiento.

Cómo: Crear y configurar un módulo HTTP

Visual Studio 2005

Este tema describe cómo configurar mediante programación el elemento httpModules de la configuración de una aplicación Web utilizando la clase HttpModulesSection y los tipos relacionados.

Un módulo HTTP es un tipo que implementa la interfaz IHttpModule y permite procesar las solicitudes entregando eventos de aplicación. Para obtener más información acerca de los módulos HTTP, vea Introducción a módulos HTTP.

En la tabla siguiente se muestran los temas complementarios, que incluyen el código de un módulo HTTP de ejemplo y un ejemplo de configuración que agrega y quita mediante programación el módulo HTTP en una aplicación Web ASP.NET. El módulo HTTP de estos ejemplos consiste en una aplicación de biblioteca simple denominada RequestTimeIntervalModule.dll. Los miembros de la clase RequestTimeIntervalModule calculan el intervalo de tiempo entre el principio y el fin de la solicitud Web, obtienen el id. de la entidad principal y, finalmente, muestran la información en una página Web de la aplicación.

Ejemplo de módulo HTTP

Muestra una implementación de módulo HTTP.

Código de configuración de ejemplo de un módulo HTTP

Modifica un archivo Web.config y agrega y quita el módulo HTTP de una aplicación Web.

Utilizar el módulo HTTP de ejemplo

Los siguientes pasos preparatorios son necesarios para utilizar los ejemplos de código de este tema.

NoteNota

Debe ejecutar este ejemplo en un entorno de Intranet en el que se pueda utilizar la autenticación de Windows para autenticar los usuarios. De forma predeterminada, sólo los administradores tienen acceso de lectura y escritura a un archivo Web.config.

Para crear el módulo HTTP

  1. Compile el código del módulo HTTP (Ejemplo de módulo HTTP) como una biblioteca de clases denominada RequestTimeIntervalModule. Se generará una DLL de ensamblado.

  2. Cree una aplicación Web denominada Test. Puede crear la aplicación en IIS como un directorio virtual denominado Test. Si necesita información sobre cómo crear y configurar un directorio virtual de IIS, vea Cómo: Crear y configurar directorios virtuales en IIS.

  3. Cree un directorio Bin directamente debajo del directorio raíz de la aplicación Web (también conocido como raíz de la aplicación Web).

  4. En el directorio Bin, copie el archivo RequestTimeIntervalModule.dll.

    NoteNota

    Alternativamente, puede utilizar la función de compilación dinámica de ASP.NET para probar el código del módulo HTTP sin precompilar una DLL de ensamblado. ASP.NET compila dinámicamente los archivos de código fuente que se colocan en el directorio App_Code justo debajo del directorio raíz del sitio Web. Por tanto, es posible obtener acceso a las clases de los archivos de código fuente del directorio App_Code desde las páginas sin necesidad de su precompilación en ensamblados. El directorio App_Code es una nueva característica que está disponible en ASP.NET 2.0. Almacenar el código del módulo HTTP en el directorio App_Code permite probar el módulo fácilmente sin precompilar el código. Para obtener un ejemplo que utiliza este tipo de implementación, vea Cómo: Crear módulos HTTP personalizados. Para obtener información sobre las opciones de compilación, vea Información general sobre la compilación de ASP.NET.

Configurar el módulo HTTP de ejemplo

En este ejemplo de código se utiliza la clase HttpModulesSection y los tipos relacionados para configurar la aplicación.

Para configurar el módulo HTTP

  1. Compile el código para configurar el módulo HTTP (Código de configuración de ejemplo de un módulo HTTP) como una aplicación de consola.

  2. Desde la línea de comandos, llame a su aplicación de consola. Si no hay ningún valor existente para el módulo HTTP RequestTimeIntervalModule, se creará. Si no hay ningún archivo Web.config en la aplicación ASP.NET, se creará uno con el nuevo valor. El valor podría parecerse al siguiente elemento httpModules, como elemento secundario del elemento system.web, en el archivo Web.config.

    <httpModules>
      <add name="RequestTimeIntervalModule" type="Samples.Aspnet.HttpModuleExamples.RequestTimeIntervalModule">
      </add>
    </httpModules>
    

Probar el módulo HTTP de ejemplo

Los módulos HTTP permiten examinar la respuesta saliente y modificarla. El módulo HTTP RequestTimeIntervalModule utiliza la propiedad System.Web.HttpResponse.Output para anexar texto al cuerpo de la respuesta.

Para probar el módulo HTTP

  1. En el directorio raíz, cree una página ASP.NET en blanco denominada Default.aspx.

  2. Abra un explorador Web y solicite la página Default.aspx de la aplicación denominada Test, que ha creado antes.

    El módulo HTTP RequestTimeIntervalModule anexa el texto siguiente a cualquier página solicitada en su aplicación ASP.NET:

    Current user: <user name>

    Time span between begin-request and end-request events: <timespan>

    Your friendly HttpModule: RequestTimeIntervalModule

Vea también

Mostrar:
© 2016 Microsoft