Ho un'applicazione C# WebService in cui voglio catturare tutte le eccezioni non gestite generate dall'applicazione.Cattura automaticamente tutte le eccezioni non gestite con WebService
Come posso fare questo?
Ho un'applicazione C# WebService in cui voglio catturare tutte le eccezioni non gestite generate dall'applicazione.Cattura automaticamente tutte le eccezioni non gestite con WebService
Come posso fare questo?
Per qualche motivo, l'evento Application_Error non viene attivato per i servizi Web (vedere other question). Lo stesso signor Jeff Atwood ha pubblicato alcuni consigli on the coding horror blog.
Egli scrive:
* Mettere un try..catch intorno ogni metodo WebService. Questi metodi tendono ad essere wrapper attorno ad altre classi, quindi non è così male come sembra, ma non è ancora buono.
* utilizzare un motivo di progettazione di facciata per ricavare tutti gli oggetti dagli oggetti padre che .. in pratica si provano..catch sul metodo .Execute. Grazie, ma no grazie.
* Scrivere un'estensione SOAP personalizzata o HttpModule. Sembra ragionevole ma ... difficile. Se è un'estensione o un HttpModule così bello, importante, qualcuno non lo avrebbe già scritto?
Un modo sarà di iscriversi all'evento AppDomain.UnhandledException
da qualche parte nel gestore App_Start
.