Cómo crear un controlador HTTP de ASP.NET mediante Visual C# .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 308001 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E308001
Expandir todo | Contraer todo

En esta página

En este artículo paso a paso se muestra cómo usar Visual C# .NET para crear un controlador HTTP sencillo personalizado. En este artículo se muestra cómo crear, implementar y configurar el controlador.

Más información

Realizar el controlador

  1. Abra Microsoft Visual Studio .NET. En Visual C# .NET, cree un nuevo proyecto de Biblioteca de clases denominado MyHandler.
  2. Establezca una referencia al ensamblado System.Web.dll.
  3. Agregue la directiva siguiente a la clase:
    using System.Web;
    					
  4. Cambie el nombre de la clase SyncHandler.cs y cambie después la definición de la clase para que refleje dicho cambio.
  5. Implemente la interfaz IHttpHandler. La definición de la clase debe aparecer de la manera siguiente:
    public class SyncHandler : IHttpHandler
    					
  6. Implemente la propiedad IsReusable y el método ProcessRequest de la interfaz IHttpHandler. Puesto que se trata de un controlador sincrónico, devuelva False para la propiedad IsReusable, de manera que el controlador no se bloquee.
    public bool IsReusable
    {
       get {return false;}
    }
    
    public void ProcessRequest(HttpContext context)
    {
       context.Response.Write("Hello from custom handler.");
    }
    					
  7. Compile el proyecto.

Implementar el controlador

  1. Cree un nuevo directorio denominado Handler bajo el directorio C:\Inetpub\Wwwroot.
  2. Cree un subdirectorio denominado Bin en el directorio Handler recién creado. La ruta de acceso resultante es C:\Inetpub\Wwwroot\Handler\Bin.
  3. Copie el archivo MyHandler.dll del directorio Bin\Debug del proyecto al directorio C:\Inetpub\Wwwroot\Handler\Bin.
  4. Siga estos pasos para marcar el nuevo directorio Handler como una aplicación Web:
    1. Abra el Administrador de servicios Internet.
    2. Haga clic con el botón secundario del mouse (ratón) en el directorio Handler y, a continuación, haga clic en Propiedades.
    3. En la ficha Directorio, haga clic en Crear.
  5. Siga estos pasos para crear una asignación de aplicaciones para el controlador. Para este controlador, cree una asignación al archivo Aspnet_isapi.dll para la extensión *.sync. Siempre que se solicita un archivo .sync, la solicitud se dirige hacia ASP.NET y ASP.NET ejecuta el código en el controlador.
    1. Haga clic con el botón secundario del mouse en la aplicación Web Handler y, a continuación, haga clic en Propiedades.
    2. En la ficha Directorio, haga clic en Configuración.
    3. Haga clic en Agregar para agregar una nueva asignación.
    4. En el cuadro de texto Ejecutable, escriba la ruta de acceso siguiente: Microsoft Windows 2000:
      C:\WINNT\Microsoft.NET\Framework\<númeroDeVersión>\Aspnet_isapi.dll
      Microsoft Windows XP:
      C:\WINDOWS\Microsoft.NET\Framework\<númeroDeVersión>\Aspnet_isapi.dll
    5. En el cuadro de texto Extensión, escriba .sync.
    6. Asegúrese de que la casilla de verificación Comprobar que el archivo existe está desactivada y, a continuación, haga clic en Aceptar para cerrar el cuadro de diálogo Agregar y modificar asignación de extensión a aplicación.
    7. Haga clic en Aceptar para cerrar los cuadros de diálogo Configuración de aplicaciones y Propiedades de Handler.
  6. Cierre el Administrador de servicios Internet.

Configurar el sistema

  1. En el directorio C:\Inetpub\Wwwroot\Handler, cree un nuevo archivo denominado Web.config.
  2. Agregue el código siguiente a Web.config:
    <configuration>
       <system.web>
          <httpHandlers>
             <add verb="*" path="*.sync" type="MyHandler.SyncHandler, MyHandler" />
          </httpHandlers>
       </system.web>
    </configuration>
    						
    En el atributo verb="*" se indica al controlador que procese una solicitud que utiliza cualquier verbo (por ejemplo, POST, HEAD, GET, etc.). Si desea que este controlador sólo procese la solicitud POST, cámbielo a verb="POST".

    En el atributo path="*.sync" se indica al controlador que procese cualquier solicitud entrante de archivos con la extensión .sync.

    En el atributo type="MyHandler.SyncHandler, MyHandler" se indica al controlador que procesa la solicitud que se implemente en el espacio de nombres MyHandler.SyncHandler. Esta clase reside en el ensamblado MyHandler.

Probar el módulo

Para probar un controlador no es necesario que la página exista en el sistema de archivos. Por ejemplo, solicite el archivo Default.sync en la aplicación Web Handler (http://<nombreDeEquipo>/Handler/Default.sync). Debe recibir los resultados siguientes:
Hello from custom handler.
				

Referencias

Para obtener información adicional acerca de los controladores HTTP, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
307985 INFO: Introducción a los módulos y los controladores HTTP de ASP.NET

Propiedades

Id. de artículo: 308001 - Última revisión: lunes, 25 de septiembre de 2006 - Versión: 3.5
La información de este artículo se refiere a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Palabras clave: 
kbconfig kbhowtomaster kbhttphandlers kbhttpruntime kbweb KB308001

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com