Web Api on Azure zeigt keine Fehlerdetails mit 'return InternalServerError (ex)' an

8

Wenn meine Web-API lokal ausgeführt wird (im Freigabemodus), werden alle Fehler in diesem Format zurückgegeben:

%Vor%

Nach der Bereitstellung / Veröffentlichung auf einer Azure-VM bleibt jedoch nur Folgendes:

%Vor%

API-Code:

%Vor%

Ich möchte, dass es bei Azure detaillierter ist, wie das lokale Ergebnis.
Kann dies erreicht werden, und wenn ja, wie? Ich habe (vorläufig) <compilation xdt:Transform="RemoveAttributes(debug)" /> bereits aus dem <system.web> -Teil von Web.Release.config entfernt und dann erneut implementiert, aber das hat keinen Unterschied gemacht.

Oder verwende ich den falschen Ansatz / Muster? Offensichtlich sollten technische Details begrenzt sein, aber im Moment bekommen wir keine Details.

    
Peter B 21.08.2014, 15:20
quelle

5 Antworten

20

Sie könnten versuchen, Ihrem Global.asax folgendes hinzuzufügen:

%Vor%

Hinweis: Ich würde nicht empfehlen, diese Einstellung in einer Produktionsumgebung beizubehalten.

    
Jon Susiak 14.10.2014, 13:09
quelle
4

Wenn Sie stattdessen

verwenden %Vor%

Dann können Sie den system.webServer-Fehlerschalter verwenden, z. B.

%Vor%

Beachten Sie das Attribut 'existingResponse', um die Fehlermeldung beizubehalten.

    
Paul Hatcher 19.12.2014 13:43
quelle
1

Für Web API 2 können Sie einen benutzerdefinierten IExceptionLogger implementieren, der Azure Application Insights verwendet. Etwas wie das:

%Vor%

Dann müssen Sie es mit Web-API registrieren:

%Vor%

Damit dies funktioniert, müssen Sie Application Insight in Azure und für Ihr VS-Projekt eingerichtet haben, aber das ist eine Geschichte für ein anderes Mal :) Weitere Informationen finden Sie unter Application Insights: Exception Telemetry

    
Søren Boisen 10.05.2015 17:32
quelle
1

Ich hatte das gleiche Problem, die Post ist drei Jahre alt, die Dinge haben sich ein wenig verändert. Wenn Sie eine neue Azure Mobile App mit Visual Studio 2017 einrichten, gibt es keine Global.asax.cs mehr. Ich habe stundenlang gesucht, wo diese IncludeErrorDetailPolicy abgelegt werden kann. Ohne diese Einstellung wird es nicht funktionieren.

Sie tun es in Ihrer Startup.MobileApp.cs:

%Vor%

Vergessen Sie nicht, in Ihrer Web.config müssen Sie auch folgendes einstellen:

%Vor%

Verwenden Sie das nicht für die Produktionsumgebung!

    
Inna 18.11.2017 20:08
quelle
0

Ich habe ein Szenario mit dem gleichen Fehler, und das Problem war ein Kopieren und Einfügen in das Attribut route header einer Methode. Ich habe den gleichen Weg für zwei Methoden

%Vor%

Überprüfen Sie die neuen Methoden und Routen hinzugefügt.

    
David 23.03.2017 14:59
quelle