Considérese un archivo que contiene la Web.config
httpHandlers
declaración siguiente:¿Cómo obtener una referencia al manejador de página ASP.NET predeterminado o al manejador de servicios web?
<httpHandlers>
<add verb="*" path="*" type="MyWebApp.TotalHandlerFactory"/>
</httpHandlers>
En otras palabras, esta fábrica manejador quiere “ver” todas las peticiones entrantes para que tenga la oportunidad de manejarlos. Sin embargo, esto no necesariamente quiere manejar en realidad todos ellos, sólo aquellos que cumplen una determinada condición de tiempo de ejecución:
public sealed class TotalHandlerFactory : IHttpHandlerFactory
{
public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated)
{
if (some condition is true)
return new MySpecialHttpHandler();
return null;
}
public void ReleaseHandler(IHttpHandler handler) { }
}
Sin embargo, hacerlo así anula por completo el manejador por defecto de ASP.NET, lo que significa que Las páginas ASP.NET y los servicios web ya no funcionan. Acabo de obtener una página en blanco para cada URL que no cumple con "alguna condición" en el "si". Por lo tanto, parece que devolver null
es lo incorrecto.
Entonces, ¿qué debo devolver para que las páginas ASP.NET y los servicios web todavía se manejen con normalidad?
Me di cuenta de que es la HttpHandlerFactory no el controlador en sí. – Aliostad