2012-04-20 60 views
35

在我的设置,我得到错误500,如果有什么毛病我的Web API请求。Asp.net的Web API返回非描述性错误500

例如用这个简单的代码。

public IQueryable<Article> Get(){ 
    throw new Exception("error"); 
    return db.Articles; //yeah i know.. unreachable, not the point 
} 

我期待什么(在常规MVC控制器会发生什么):

enter image description here

我得到(在网页API)什么:

enter image description here 我的web配置:

<customErrors mode="Off"/> 
<compilation debug="true" targetFramework="4.5"> 

//under webserver 
<httpErrors errorMode="detailed"/> 

该应用PO ol在集成模式下运行4.0。 32位应用程序已启用。

我怎样才能得到的错误在浏览器中浮出水面?或者至少在调试过程中?

+0

我没有那个屏幕。你在使用.NET 4.5吗? – Aliostad 2012-04-20 13:53:07

+0

是的,我正在使用4.5和EF 5预发布。 – 2012-04-20 14:20:25

+11

最后的主要问题是:如何在浏览器/客户端中制作错误表面?我发现这一点:http://lostechies.com/jimmybogard/2012/04/18/custom-errors-and-error-detail-policy-in-asp-net-web-api/你需要做的 GlobalConfiguration.Configuration .IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; – 2012-04-20 15:16:48

回答

1

如果它是WCF Web服务,则必须将ServiceBehavior属性的IncludeExceptionDetailInFaults标志设置为true,以使错误以您想要的方式显示。

+3

即使在1年后,也没有人给过他正确的答案..甚至不是你。 – 2013-03-12 04:15:50

2

有同样的问题。

对于我来说加入

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; 
WebApiConfig Register方法

帮助。

后,我得到了有关该错误的不错详细信息,。

这里是一些关于MSDN的更多信息