проблема
когда я вручную устанавливаю HTTP Status
для своего потока ответов, скажем, 404
или 503
IIS, вместо моего пользовательского представления отображается стандартный контент / представление IIS.
Когда я делаю это с сервером веб-разработки (AKA. Cassini ), он работает правильно (то есть отображается мой контент и response.statuscode
== мои введенные данные).
Есть ли способ, которым я могу отменить это поведение?
Как тиражировать
Создайте веб-приложение ASP.NET MVC1 по умолчанию. Добавьте следующий маршрут
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{*catchall}",
new { controller = "Home", action = "Index" }
);
}
Теперь замените метод индекса HomeController на ...
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
Response.StatusCode = 404;
return View();
}
}