Problema
quando defino manualmente o HTTP Status
fluxo de resposta como, digamos, 404
ou 503
, o IIS renderiza o conteúdo / exibição do IIS em estoque, em vez da minha exibição personalizada.
Quando faço isso com o servidor de desenvolvimento da web (AKA. Cassini ), ele funciona corretamente (ou seja, meu conteúdo é exibido e os response.statuscode
== meus dados inseridos).
Existe alguma maneira de substituir esse comportamento?
Como replicar
Crie um aplicativo Web ASP.NET MVC1 padrão. Adicione a seguinte rota
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{*catchall}",
new { controller = "Home", action = "Index" }
);
}
Agora substitua o método Index do HomeController por ...
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
Response.StatusCode = 404;
return View();
}
}