問題
私は手動で設定するとHTTP Status
言って、私に応答ストリームのを、404
または503
、IISは代わりに私のカスタムビューのコンテンツ/ビューをIIS株式をレンダリングします。
Web開発サーバー(別名:Cassini)でこれを行うと、正しく動作します(つまり、コンテンツが表示され、response.statuscode
==入力したデータが表示されます)。
この動作をオーバーライドできる方法はありますか?
複製する方法
デフォルトのASP.NET MVC1 Webアプリケーションを作成します。次のルートを追加します
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{*catchall}",
new { controller = "Home", action = "Index" }
);
}
次に、HomeControllerのIndexメソッドを...に置き換えます。
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
Response.StatusCode = 404;
return View();
}
}