2012-04-20 9 views
35

In meinem Setup bekomme ich Fehler 500, wenn irgendetwas mit meiner Web-API-Anfrage schief geht.Asp.net Web API gibt einen nicht beschreibenden Fehler zurück 500

Zum Beispiel mit diesem einfachen Code.

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

Was erwarte ich (und was passiert in einem regulären MVC-Controller):

enter image description here

Was ich (in Web API):

enter image description here Meine Web-config:

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

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

Die App po ol läuft 4.0 im integrierten Modus. 32-Bit-Anwendungen sind aktiviert.

Wie kann ich den Fehler auftauchen im Browser? Oder zumindest beim Debuggen?

+0

Ich bekomme diesen Bildschirm nicht. Verwenden Sie .NET 4.5? – Aliostad

+0

Ja, ich verwende 4.5 und EF 5 Vorabversion. –

+11

Die Hauptfrage ist am Ende: Wie kann man die Fehlerfläche im Browser/Client machen? Ich fand das: http://losetechies.com/jimmybogard/2012/04/18/custom-errors-and-error-detail-policy-in-asp-net-web-api/ Sie müssen GlobalConfiguration.Configuration tun .IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; –

Antwort

1

Wenn es sich um einen WCF-Webdienst handelt, müssen Sie das IncludeExceptionDetailInFaults-Flag des ServiceBehavior-Attributs auf true setzen, damit der Fehler wie gewünscht angezeigt wird.

+3

coz niemand gab ihm die richtige Antwort auch nach 1 Jahr..nicht einmal Sie. –

2

Hatte das gleiche Problem.

Für mich das half

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; 

im WebApiConfigRegister Methode hinzufügen.

Danach bekam ich nette detaillierte Informationen über den Fehler.

Hier sind einige weitere Informationen über MSDN

Verwandte Themen