Ho creato un progetto di esempio per semplificare il mio problema. Ho questo semplice gestore:HTTP Handler funziona con Cassini, ma non 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; } }
}
Poi, nel mio config, ho questo:
<httpHandlers>
<add verb="*"
path="Survey"
type="HttpHandlerTest.HandleThis, HttpHandlerTest" />
Ora, quando ho colpito http://server/Survey miei fuochi del gestore.
Se cambio il mio progetto per l'esecuzione con IIS 6, non verrà attivato (404). Ho provato manualmente aggiungendo il gestore in IIS via: - Proprietà sito Web - Home Directory - Configurazione - Aggiungi (passare alla DLL del mio sito), Estensione: Survey, deselezionare "Verifica esistenza del file"
Ho notato che IIS (così utile) aggiunge il "." di fronte alla mia estensione, quindi ho colpito il sito con "b.Survey"; ancora 404.
Sicuramente è possibile aggiungere un gestore in IIS 6?
Quando lo faccio ottengo una risposta completamente vuota. – dudeNumber4
Suppongo che in realtà non venga reindirizzato a Score.aspx? Stai navigando verso http: // server/sondaggio/URL con un mapping jolly (*) in IIS? – etorrejon
Ho appena realizzato il mio problema; dopo aver modificato il percorso dell'eseguibile in modo che puntasse su aspnet, ho quindi dovuto correggere ciò che avevo nella mia configurazione (avevo cambiato l'estensione in ".wtf" in IIS, quindi ho dovuto cambiare la configurazione in path = "*. wtf " – dudeNumber4