Problème
lorsque je définit manuellement le HTTP Status
flux de réponse sur, disons 404
ou 503
, IIS rend le contenu / la vue IIS stock, au lieu de ma vue personnalisée.
Lorsque je fais cela avec le serveur de développement Web (AKA. Cassini ), cela fonctionne correctement (c'est-à-dire que mon contenu est affiché et response.statuscode
== mes données saisies).
Existe-t-il un moyen de contourner ce comportement?
Comment répliquer
Créez une application Web ASP.NET MVC1 par défaut. Ajoutez l'itinéraire suivant
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{*catchall}",
new { controller = "Home", action = "Index" }
);
}
Remplacez maintenant la méthode Index HomeController par ...
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
Response.StatusCode = 404;
return View();
}
}