如果发生异常,我的asp.net 5应用程序会向我抛出一个空白的html页面。我的目标是显示默认错误页面。
This question和this question似乎有关系,但它似乎已经过时了,因为我们不再有web.config而第二个不能解决我的问题。
这是startup.cs中的Configure()
方法:
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory, IHostingEnvironment env)
{
loggerFactory.AddDebug(LogLevel.Warning);
app.UseStaticFiles();
app.UseMvc(config =>
{
//[...]
});
if (env.IsDevelopment())
{
app.UseBrowserLink();
loggerFactory.AddDebug(LogLevel.Information);
app.UseDeveloperExceptionPage();
}
else
{
loggerFactory.AddDebug(LogLevel.Debug);
app.UseDeveloperExceptionPage();
}
//[...]
}
我已经确认,代码实际上是在遇到if条件并加载了UserDeveloperExceptionPage方法,但无济于事。
我错过了什么?
答案 0 :(得分:1)
好的,我找到了解决方案
订单很重要。您需要在MVC中间件之前实例化错误处理中间件。否则,将不会有异常处理。
在app.UseMvc(x => {...})
之前设置错误处理配置可以解决问题:
if (env.IsDevelopment())
{
app.UseBrowserLink();
loggerFactory.AddDebug(LogLevel.Information);
app.UseDeveloperExceptionPage();
}
app.UseMvc(config =>
{
//[...]
});
这很简单。