5

.NET4.0統合パイプラインアプリプールを備えたIIS7.5(Win 7 64ビット)でMVC 3アプリ(最近2から更新)を実行しており、web.configで次の設定を行っています。

<customErrors mode="On" defaultRedirect="~/Problem/Oops" redirectMode="ResponseRedirect">
    <error statusCode="404" redirect="~/Problem/NotFound" />
</customErrors>

コントローラのアクションメソッドがサーバーに例外をスローし、500エラーコードを生成した場合、ブラウザはデフォルトのリダイレクトURLに正しく送信されます。

ただし、アクションがHttpNotFound()を介して意図的にHttpNotFoundResultを返す場合、web.configに示されているものではなく、IIS7.5404.0エラーページが表示されます。

http:// localhost / MyApp / FOOのようにアプリに存在しないURLを入力すると、web.configで示されるページが表示されます。

HttpNotFound()を使用しているときに、カスタム404エラーページにリダイレクトされない理由を誰かが知っていますか?

4

2 に答える 2

6

HttpNotFoundを呼び出す代わりに、以下の構文を試して、結果を知らせてください;)

throw new HttpException(404, "NotFound");
于 2012-02-23T18:39:06.017 に答える
0

設定してみましたResponse.TrySkipIisCustomErrors = true;か?

( http://blog.janjonas.net/2011-04-13/asp_net-prevent-iis_75_overriding-custom-error-page-iis-default-error-pageを参照)

于 2011-04-13T20:59:42.853 に答える