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でどのような例外がキャッチされるのか知りたいですか?それを動作させるために追加の設定が必要ですか?
Web APIは、例外を処理していて、UseErroPageミドルウェアが処理できるようになる前に500応答に変換するように見えます。一般に、パイプラインの未処理の応答は、UseErrorPageミドルウェアによって処理されます。 – Praburaj