Non so se è rilevante che ciò accada in un sito Web MVC ma ho pensato di parlarne comunque.HttpHandler personalizzato non si attiva, restituendo 404 in ASP.NET Applicazione MVC
Nel mio web.config devo queste righe:
<add verb="*" path="*.imu" type="Website.Handlers.ImageHandler, Website, Version=1.0.0.0, Culture=neutral" />
nel progetto Sito Ho una cartella di nome gestori che contiene la mia classe ImageHandler. Sembra che questo (ho rimosso il codice ProcessRequest)
using System;
using System.Globalization;
using System.IO;
using System.Web;
namespace Website.Handlers
{
public class ImageHandler : IHttpHandler
{
public virtual void ProcessRequest(HttpContext context)
{
//the code here never gets fired
}
public virtual bool IsReusable
{
get { return true; }
}
}
}
Se eseguo il mio sito web e vado a /something.imu solo restituisce un errore 404.
Sto utilizzando Visual Studio 2008 e sto provando a eseguirlo sul server di sviluppo ASP.Net.
Ho cercato per diverse ore e ha funzionato in un sito Web vuoto separato. Quindi non capisco perché non funzionerà all'interno di un sito web esistente. Non ci sono altri riferimenti al percorso * .imu btw.
Whoa bello, che mi ha messo nella giusta direzione! Ho aggiunto questa riga nel metodo RegisterRoutes che impedirà a MVC di gestire la richiesta: routes.IgnoreRoute ("{resource} .imu/{* pathInfo}"); – Peter
se si desidera ignorare l'estensione in tutti i percorsi, utilizzare route.IgnoreRoute ("{* allimu}", new {allimu = @ ". * \. Imu (/.*)?"}); da phack haack http://haacked.com/archive/2008/07/14/make-routing-ignore-requests-for-a-file-extension.aspx/ – jsturtevant