2012-04-20 14 views
35

Web APIリクエストに問題が発生した場合、私のセットアップでエラー500が発生します。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"/> 

アプリポolは統合モードで4.0を実行しています。 32ビットアプリケーションが有効です。

エラーをブラウザで表示するにはどうすればよいですか?少なくとも、デバッグ中は?

+0

私はその画面を取得しません。 .NET 4.5を使用していますか? – Aliostad

+0

はい4.5とEF 5のプレリリースを使用しています。 –

+11

主な質問は最後です:ブラウザ/クライアントでエラーサーフェスを作成する方法は?私はこれを発見しました:http://lostechies.com/jimmybogard/2012/04/18/custom-errors-and-error-detail-policy-in-asp-net-web-api/あなたがする必要があります GlobalConfiguration.Configuration .IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; http://aspnetwebstack.codeplex.com/workitem/79 そしてWebApiContribにパッチ私のポストがした何をする: –

答えて

1

WCF Webサービスの場合は、エラーが望ましい方法で表示されるように、ServiceBehavior属性のIncludeExceptionDetailInFaultsフラグをtrueに設定する必要があります。

+3

cozは、1年後でも正しい答えを返してくれました。 –

2

同じ問題がありました。 WebApiConfigRegister方法で

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; 

を追加私にとって

を助けました。

その後、エラーに関する詳細な情報が得られました。

ここにいくつかの詳細がありますMSDN

関連する問題