2012-04-20 72 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的更多信息