我最初有一个IIS托管的Nancy应用程序,它有一个自定义错误页面 Errors \ 500.html 。在 Errors 文件夹中,我有一个 Web.config 文件,该文件删除了Nancy处理程序,以便可以提供错误页面。
我处理了两种类型的错误:
Application_Error()
处理。 IStatusCodeHandler
实现处理。切换到使用 Nancy.Owin后 Application_Error()
不再被调用。
我在 Startup.cs 中尝试过Configuration()
的一些变体,例如:
app.UseNancy(options => options.PassThroughWhenStatusCodesAre(HttpStatusCode.InternalServerError));
但是我无法调用Application_Error()
。
我尝试过创建一个自定义中间件来处理异常,但这仅适用于运行路由时的异常,而不是在加载Nancy模块时出现问题:
app.UseNancy(options => options.PassThroughWhenStatusCodesAre(HttpStatusCode.InternalServerError));
app.Use<MyCustomExceptionMiddleware>();
<小时/> 如何加载自定义错误页面(最好还是使用
Application_Error()
)?
使用Nancy 0.22.2,Owin 1.0和Microsoft.Owin.Host.SystemWeb 3.0.0。
答案 0 :(得分:0)
使用OWIN时不会调用Application_Error()。