6

[HandleError]MVC3 アプリケーション内から属性を使用してエラーを処理しています。これは正常に機能しますが、これを機能させるには、追加する必要がありました

<system.web>
     <customErrors mode="On" />

404 エラーを処理するために、これをシステムに追加しました。webserver、つまりasp.netではなくIIS構成

<httpErrors errorMode="Custom" existingResponse="Replace">
   <remove statusCode="404" />
   <error statusCode="404" responseMode="ExecuteURL" path="/404page" />
</httpErrors>

これはシンプルで、404 に最適です。これをここに追加する理由は、カスタム コードを使用せずにすべてをキャッチできるように思われるからです。existingResponse= "Replace"が必要です。他のモードでは 404 が処理されません。

問題は、existingResponse="Replace" の場合、CustomErrors が機能しなくなることです。詳細なしで、削除された 500 エラーを返すだけです。

これらの 2 つのモードは相互に排他的ですか? 他の 404 ソリューションをコーディングできることは承知していますが、理想的には、この単純な構成の変更を機能させるか、それができない理由を理解したいと考えています。

4

1 に答える 1

4

直接的な答えではありませんが、使用する代わりにこのSOソリューションが機能することがわかりましたexistingResponse="replace"

于 2012-07-16T22:43:31.123 に答える