Problema
quando imposto manualmente il HTTP Status
flusso di risposta su, diciamo, 404
oppure 503
, IIS esegue il rendering del contenuto / vista IIS di magazzino, anziché della vista personalizzata.
Quando lo faccio con il server di sviluppo web (AKA. Cassini ), funziona correttamente (ovvero, il mio contenuto viene visualizzato e response.statuscode
== i miei dati inseriti).
Esiste un modo per ignorare questo comportamento?
Come replicare
Creare un'applicazione Web ASP.NET MVC1 predefinita. Aggiungi il seguente percorso
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{*catchall}",
new { controller = "Home", action = "Index" }
);
}
Ora sostituisci il metodo Index di HomeController con ...
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
Response.StatusCode = 404;
return View();
}
}