Un controlador HTTP de ASP.NET es un proceso que se ejecuta en respuesta a una solicitud realizada a una aplicación web de ASP.NET . [1] El controlador más común es el controlador de páginas de ASP.NET que procesa archivos .aspx. Cuando los usuarios solicitan un archivo .aspx, la solicitud es procesada por la página a través del controlador de páginas. [2]
Los controladores HTTP no estaban presentes en el ASP "clásico" . Implementan la System.Web.IHttpHandler
interfaz. A diferencia de los formularios web ASP.NET , no tienen archivo de marcado HTML, ni eventos ni otros elementos de soporte. Todo lo que tienen es un archivo de código (escrito en cualquier lenguaje compatible con .NET ) que escribe algunos datos en la respuesta HTTP del servidor. Los controladores HTTP son similares a las extensiones ISAPI . [3]
Un módulo HTTP es un conjunto que se llama en cada solicitud que se realiza a su aplicación. Los módulos HTTP se llaman como parte de la secuencia de solicitudes de ASP.NET y tienen acceso a eventos del ciclo de vida durante toda la solicitud. Los módulos HTTP le permiten examinar las solicitudes entrantes y salientes y tomar medidas en función de la solicitud. [4]
A diferencia de los formularios web ASP.NET, que tienen la extensión de archivo ".aspx", los controladores ASP.NET tienen de forma predeterminada la extensión de archivo ".ashx". [5]
Los controladores se consideran objetos más livianos que los formularios web ASP.NET. Por eso se utilizan para ofrecer imágenes generadas dinámicamente, archivos PDF generados sobre la marcha y contenido similar al navegador web . [6]
Con ASP.NET Core , estos controladores HTTP han sido reemplazados por ApplicationBuilders de "middleware" (IApplicationBuilder) que permiten enrutar solicitudes en función de los encabezados de solicitud en lugar de solo la ruta URL. [7]