Vấn đề
khi tôi đặt thủ công HTTP Status
luồng phản hồi của mình thành, giả sử, 404
hoặc 503
IIS sẽ hiển thị nội dung / chế độ xem IIS thay vì chế độ xem tùy chỉnh của tôi.
Khi tôi làm điều này với máy chủ phát triển web (AKA. Cassini ), nó hoạt động chính xác (nghĩa là nội dung của tôi được hiển thị và response.statuscode
== dữ liệu đã nhập của tôi).
Có cách nào tôi có thể ghi đè hành vi này không?
Làm thế nào để nhân rộng
Tạo một ứng dụng web ASP.NET MVC1 mặc định. Thêm tuyến đường sau
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{*catchall}",
new { controller = "Home", action = "Index" }
);
}
Bây giờ thay thế phương thức Index của HomeContoder bằng ...
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
Response.StatusCode = 404;
return View();
}
}