2012-06-21 11 views
5

Sto cercando una funzionalità per abilitare la registrazione/traccia in ASP.NET MVC 4 Web Api. In WCF è possibile attivare la registrazione e le scritture WCF che sta facendo. Quindi, posso aprire il dump e cercare errori.ASP.NET MVC 4 Web Api: Funzioni di diagnostica

Non voglio tracciare la mia web api ma registro che sta facendo il framework. Se rintraccio/registro la web api con i gestori di messaggi non ottengo alcuna informazione se si verifica un errore prima della mia implementazione.

risposta

4

Consiglierei due cose.

1) Per ottenere il dettaglio completo delle eccezioni generate, impostarei la politica di errore su sempre. Ciò dovrebbe restituire più messaggi di eccezione di dettaglio dal codice.

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; 

Penso che funzioni solo in RC.

2) Quindi suggerirei di collegare un gestore di messaggi che è possibile utilizzare per ulteriori informazioni su richiesta/risposta. I gestori dei messaggi verranno eseguiti quando arrivano nuove richieste e appena prima che le risposte finali ritornino. Ci sono un sacco di esempi di questo online. WebAPIContrib ha uno nella sua GitHub repo si può dare un'occhiata a come example

3) Se si desidera monitorare altri eventi del server, si consiglia di considerare l'utilizzo di asp.net health monitoring, a patto che si ospitano in ASP. netto, naturalmente. Ti permetterà di fare diversi audit e monitorare gli errori del server.

+0

Ciao, io non voglio usare gestori di messaggi, perché non funziona in questo caso. Ho bisogno di un registro di ciò che sta facendo il framework. Ad esempio, i gestori di messaggi non saranno chiamati se si verifica un errore durante l'avvio del server. – user437899

+0

Gli errori del server non sarebbero specifici per web api allora. hai guardato il monitoraggio della salute? Posso aggiungerlo con alcuni link alla mia risposta – cecilphillip

+4

Dovresti * mai * usare ** IncludeErrorDetailPolicy.Always ** in ambiente di produzione questa è una vulnerabilità di Information Diclosure: l'eccezione contiene dettagli che possono essere usati per trovare un modo per hackerare il tuo sistema (vedi https://www.owasp.org/index.php/Information_Leak_(information_disclosure)) – Isantipov