3
Response.StatusCodeを手動で設定した場合、IISは応答コンテンツをオーバーライドします
問題 私は手動で設定すると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(); } }