6

3 つの領域を設定した MVC プロジェクトがあります。メイン プロジェクトでは、web.config でカスタム エラーを使用してエラー処理を設定しています。

<customErrors mode="On" defaultRedirect="~/Error/HttpError">
     <error statusCode="404" redirect="~/Error/Http404" />     </customErrors>

これにより、サイトがルートのエラー コントローラーにリダイレクトされ、エラー ビューが表示されます。

これはルート サイトでは問題なく動作しますが、エリア サイトの 1 つのホーム コントローラーで例外をスローすると、以下のメッセージが表示されます。

ランタイム エラーの説明: サーバーでアプリケーション エラーが発生しました。このアプリケーションの現在のカスタム エラー設定では、アプリケーション エラーの詳細を表示できません。

詳細: この特定のエラー メッセージの詳細をローカル サーバー コンピューターで表示できるようにするには、現在の Web アプリケーションのルート ディレクトリにある "web.config" 構成ファイル内にタグを作成してください。次に、このタグの「mode」属性を「RemoteOnly」に設定する必要があります。詳細をリモート マシンで表示できるようにするには、「モード」を「オフ」に設定してください。

ルートサイトのエラーハンドリングがエリアサイトで使えないということですか?

ありがとう

ジョン。

4

1 に答える 1

1

この領域には、独自のエラー処理オプションを設定している可能性のある独自の web.config がありますか? Application_OnError にブレークポイントを設定して、別のエラーが発生しているかどうかを確認できますか (たとえば、エラー ページの読み込み - たとえば、バッファリングをオフにすると、リダイレクトを実行できなくなります)。

次のようなものをメインの web.config に追加して、違いがあるかどうかを確認することもできます。

<location path="nameOfArea">
  <system.web>
    <customErrors mode="On" defaultRedirect="~/Error/HttpError" />
  </system.web>    
</location>
于 2011-02-28T18:53:36.203 に答える