2013-11-22 58 views
8

ASP.NET Webサイトにカスタムエラーページが設定されています。IISカスタムエラーでカスタムエラーページが表示されない

エラーが1つあり、カスタムエラーページが表示されず、通常の黄色のASP.NETエラーページが表示されます。カスタムエラーがオンになっている場合、「サーバーエラー/アプリケーション」/「ランタイムエラー」が表示されますが、カスタムエラーがオフの場合は「viewstate macの検証に失敗しました」というエラーが表示されます。

私のweb.configファイルの関連部分は以下のとおりです。

<system.web> 
    <compilation debug="false" targetFramework="4.0" /> 
    <customErrors mode="On" redirectMode="ResponseRewrite"> 
     <error statusCode="404" redirect="/404.aspx" /> 
     <error statusCode="500" redirect="/500.aspx" /> 
    </customErrors> 

<system.webServer> 
    <httpErrors errorMode="DetailedLocalOnly" /> 

をトラップするために、このエラーのために私は別のステータスコードやsubstatuscodeを使用する必要がありますか、何か他のものはありますか?

NB。サーバー2008 R2、IIS 7.

+0

CustomErrorsにはdefaultRedirect属性があります。 500.aspxにも設定してみてください。 – Mark

+0

こんにちは@マーク、私はそれを試みましたが、それは何の違いもありませんでした。ありがとう。 – johna

+0

実際には、あなたのカスタムページが表示されないようにする、 'DetailedLocalOnly'の最後の行です。 – Marc

答えて

13

さらに調査した結果、IISがASP.NETではなくエラーを表示していることがわかりました。

私はweb.configのsystem.webServer部分を変更して、IISもカスタムエラーページを使用できるようにして、問題を解決しました。

<system.webServer> 
    <httpErrors errorMode="Custom" existingResponse="Replace"> 
    <remove statusCode="500" subStatusCode="-1" /> 
    <error statusCode="500" subStatusCode="-1" responseMode="ExecuteURL" path="/500.aspx" /> 
    </httpErrors> 
+0

「Owin」ミドルウェアを実装しているときに同じ問題が発生しました – Ramakrishna

関連する問題