【发布时间】:2012-04-20 09:42:02
【问题描述】:
在我的设置中,如果我的 Web API 请求出现任何问题,我会收到错误 500。
以这个简单的代码为例。
public IQueryable<Article> Get(){
throw new Exception("error");
return db.Articles; //yeah i know.. unreachable, not the point
}
我的期望(以及在常规 MVC 控制器中会发生什么):
我得到了什么(在 Web API 中):
我的网络配置:
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.5">
//under webserver
<httpErrors errorMode="detailed"/>
应用程序池在集成模式下运行 4.0。已启用 32 位应用程序。
如何在浏览器中显示错误?或者至少在调试期间?
【问题讨论】:
-
我看不到那个屏幕。您使用的是 .NET 4.5 吗?
-
是的,我正在使用 4.5 和 EF 5 预发行版。
-
主要问题就在最后:如何在浏览器/客户端中显示错误?我发现了这个:lostechies.com/jimmybogard/2012/04/18/… 你需要做 GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
-
Web API 中有一个问题可以解决这个问题:aspnetwebstack.codeplex.com/workitem/79 WebApiContrib 的一个补丁可以完成我的帖子所做的事情:github.com/WebApiContrib/WebAPIContrib/commit/…
-
API 控制器使用不同的异常过滤系统。我在试图弄清楚为什么 Elmah 没有记录任何内容时发现了这一点。本文很好地解释了如何与 Elmah 集成,@JimmyBogard 和 Martin-hansen 似乎已经解决了实际问题。 tugberkugurlu.com/archive/asp-net-web-api-and-elmah-integration
标签: c# iis-7.5 asp.net-web-api