asp.net module handler httphandler httpmodule

asp.net - Cuándo usar HttpHandlers y HttpModules?



(1)

¿Cuándo usar HttpHandlers y HttpModules exactamente?

¿No puedo escribir ese código en el código de las páginas ASPX?


HttpModule le permite interceptar la solicitud (antes de que sea manejada por su controlador) y generar la respuesta. Puede modificar tanto la solicitud como la respuesta si es necesario. Las sesiones de ASP.NET, perfiles, autenticación, etc. también se implementan como HttpModule: este módulo inspecciona la solicitud y adjunta el contexto necesario (p. Ej., Estado de sesión basado en la cookie de sesión) a la solicitud. Tal funcionalidad es difícil de lograr a través de código aspx detrás.

HttpHandler es el responsable de gestionar la solicitud, es decir, generar una respuesta HTTP que a menudo (pero no siempre) significa generar algún html. La clase de página (base para aspx) no es más que manejador de http (también lo son otros puntos finales como asmx, ashx, axd). El controlador raw (ashx) es útil cuando se necesita control absoluto sobre la generación de respuestas; en cambio, sería posible usar aspx pero involucraría innecesariamente toda la maquinaria de control / página predeterminada (estado de visualización, fecha posterior, árbol de control, etc.) .