3

従来のクラシックASPページ(必要に応じてASP.NETに変換される)と新しいASP.NETページを備えたWebサイトで作業しています。IIS 7統合パイプラインの使用は、構成に非常に役立ちました。たとえば、web.configファイルの適切なセクションを構成するだけで、従来のASPページでフォーム認証を自動的に機能させることができました(つまり、従来のASPページに変更を加える必要はありませんでした。詳細については、こちらをご覧ください)。

私の同僚は、web.config <customErrors>セクションで指定されているカスタムエラーページも、従来のASPページに自動的に魔法のように適用する必要があると考えていますが、当社のWebサイトではASP.NETページでのみ機能します。また、IIS7統合パイプラインを使用してカスタムエラーページをClassicASPに適用する機能を説明する情報も見つかりませんでした。

統合パイプラインを備えたIIS7で実行されているWebサイトのweb.configごとにカスタムエラーページをクラシックASPページに適用することは可能ですか?もしそうなら、どのように?

4

1 に答える 1

3

IIS7カスタムエラーページは、ASP.NETのみに適用されるセクションで<system.webServer>はなく、構成セクションで処理されます。<customErrors><system.web>

<configuration>
    <system.webServer>
        <httpErrors>
            <error 
               statusCode="500" 
               subStatusCode="100" 
               path="/500errors.asp" 
               responseMode="ExecuteURL" />
        </httpErrors>
    </system.webServer>
</configuration>

これらの設定がASP.NETカスタムエラーと競合することに注意してください。.NET 3.5以降を実行している場合はResponse.TrySkipIisCustomErrors、ASP.NETエラーページのコードビハインド(またはMVCを使用している場合はエラーコントローラー)を設定して、IISがASP.NETエラーページを上書きしないようにすることができます。

Response.TrySkipIisCustomErrors = true // ASP.NET Forms

Rick Strahlによるこの記事では、この問題についてもう少し詳しく説明しています。

500を超えるエラーが発生するIIS7エラーページ

于 2010-10-06T17:21:03.037 に答える