Проблема
коли я вручну встановлюю 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();
}
}