2013-11-25 10 views
7

http://blogs.msdn.com/b/webdev/archive/2013/11/22/debugging-owin-app-or-framework.aspxからデモコードを取得しました。これはセクシーなエラーページを表示します。Microsoft.Owin.Diagnostics.ErrorPageExtensions.UserErrorPageによってどのような種類の例外がキャッチされるのですか

app.UseErrorPage(new ErrorPageOptions() 
     { 
      //Shows the OWIN environment dictionary keys and values. This detail is enabled by default if you are running your app from VS unless disabled in code. 
      ShowEnvironment = true, 
      //Hides cookie details 
      ShowCookies = false, 
      //Shows the lines of code throwing this exception. This detail is enabled by default if you are running your app from VS unless disabled in code. 
ShowSourceCode = true, 
      }); 

      app.Run(async context => 
      { 
       throw new Exception("UseErrorPage() demo"); 
       await context.Response.WriteAsync("Error page demo"); 
      }); 
     } 

ただし、Controllerアクションで例外をスローすると、エラーページは表示されず、YSODが表示されます。

だから、私はUseErrorPageでどのような例外がキャッチされるのか知りたいですか?それを動作させるために追加の設定が必要ですか?

+1

Web APIは、例外を処理していて、UseErroPageミドルウェアが処理できるようになる前に500応答に変換するように見えます。一般に、パイプラインの未処理の応答は、UseErrorPageミドルウェアによって処理されます。 – Praburaj

答えて

7

コントローラの操作でMVCを意味しますか? MVCはOWIN上で直接実行されないため、Asp.Netは例外を最初に見て、YSODを表示します。 Katana ErrorPageは、OWINパイプラインで発生する例外のみを表示できます。

+0

ありがとうございます。 –

関連する問題