2010-07-22 17 views
6

Scrivo il servizio WCF e voglio mantenere il suo registro delle attività: traccia, avvisi e messaggi di errore. L'approccio molto semplice è quello di avvolgere tutto il codice di servizio del contratto all'interno delle sezioni try/catch e scrivere i messaggi di errore dalle eccezioni degli errori del contratto di servizio di rilancio parte catch.WCF: gestione degli errori lato server. best practice

Suppongo che sarebbe bello se ci fosse un punto codice per catturare tutte le eccezioni non rilevate invece di dozzine di sezioni try/catch. Sarebbe anche utile scrivere i parametri del metodo del contratto da quel punto per fornire informazioni dettagliate sull'errore.

E 'possibile con WCF?

Qual è la migliore pratica nell'organizzazione della gestione degli errori all'interno dei servizi WCF?

Grazie in anticipo!

risposta

4

Dai un'occhiata alla IErrorHandler interfaccia

Permette un realizzatore di controllare il messaggio di errore restituito al chiamante ed eventualmente esegue l'elaborazione di errore personalizzato come ad esempio la registrazione

È possibile implementare il comportamento del servizio (vedi IServiceBehavior interfaccia) e aggiungi il gestore ai gestori degli errori ChannelDispatcher.

Vedere WCF Exception Handling with IErrorHandler per ulteriori dettagli.

+0

Questo articolo non è più disponibile e non riesco a trovarlo archiviato da nessuna parte ... sai da qualche altra parte che è stato pubblicato? –

0

Non sono sicuro se questo funziona in WCF, ma si può provare il AppDomain.UnhandledException evento.

+0

'AppDomain.UnhandledException' non è il posto in cui gestire le eccezioni, ma solo per registrarle. Perché se l'eccezione si propaga a quel livello, l'applicazione sta per terminare. – Darius

Problemi correlati