我有一个ASP.Net Core 2 Web API项目。我Configure在Startup.cs文件中的方法中
添加了以下内容app.UseExceptionHandler();
我在邮递员测试中注意到,我得到的是“无法获得答复”结果。服务器端日志记录显示该错误与数据库中缺少表有关。可以,我可以解决。但是我的问题是,为什么服务器不会返回500 Internal Server Error?为什么死了,对邮递员根本没有任何回应?
因此,在我的控制器中,我故意抛出一个异常以测试处理程序,并从Postman调用URL,实际上,正如我所料,我得到了500 Internal server error响应。
为什么ExceptionHandler中间件无法处理从EFCore抛出的“深度下降”错误,并使我的应用程序崩溃?我想念什么吗?
在您的 startup.cs 中,将UseMvc()标签移动到管道的底部,即
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.UseExceptionHandler();
app.UseMvcWithDefaultRoute();
}
Run Code Online (Sandbox Code Playgroud)
就我而言,当浏览器启动的路由不存在时,请求管道在启动时出错。在这种情况下,我的 app.UseExceptionHandler() 在 app.UseMvc() 之前没有执行。
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |