He creado un proyecto de muestra para simplificar mi problema. Tengo este sencillo manejador:HTTP Handler funciona usando Cassini, pero no con IIS 6
public class HandleThis : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(System.Web.HttpContext context)
{
// Score.aspx just says "success"
context.Response.Redirect("Score.aspx");
}
public bool IsReusable { get { return true; } }
}
Entonces, en mi config, tengo esto:
<httpHandlers>
<add verb="*"
path="Survey"
type="HttpHandlerTest.HandleThis, HttpHandlerTest" />
Ahora, cuando me golpeó http://server/Survey mis fuegos de controlador.
Si cambio mi proyecto para ejecutarlo con IIS 6, no se disparará (404). me trataron de forma manual añadiendo el controlador en IIS a través de: - Propiedades del Sitio Web - Directorio principal - Configuración - Añadir (vaya a .dll de mi sitio), Extensión: Encuesta, desactive "Compruebe que existe ese archivo"
Noto que IIS (tan útilmente) agrega el "." frente a mi extensión, así que llegué al sitio con "b.Survey"; Todavía 404.
¿Sin duda es posible agregar un controlador en IIS 6?
Cuando lo hago, recibo una respuesta completamente vacía. – dudeNumber4
Supongo que en realidad no se lo redirige a Score.aspx? ¿Está navegando hacia http: // server/survey/URL con un mapeo de comodín (*) en IIS? – etorrejon
Acabo de darme cuenta de mi problema; después de cambiar la ruta del ejecutable para apuntar a aspnet, necesitaba corregir lo que tenía en mi configuración (había cambiado la extensión a ".wtf" en IIS, así que necesitaba cambiar la configuración a path = "*. wtf " – dudeNumber4