Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli errori riscontrati da un'applicazione WCF appartengono a uno dei tre gruppi:
Errori di comunicazione
Errori Proxy/Canale
Errori delle applicazioni
Gli errori di comunicazione si verificano quando una rete non è disponibile, un client usa un indirizzo non corretto o l'host del servizio non è in ascolto dei messaggi in arrivo. Gli errori di questo tipo vengono restituiti al client come classi derivate da CommunicationException o CommunicationException.
Gli errori proxy/canale sono errori che si verificano all'interno del canale o del proxy stesso. Gli errori di questo tipo includono: tentativo di usare un proxy o un canale chiuso, esiste una mancata corrispondenza del contratto tra il client e il servizio oppure le credenziali del client vengono rifiutate dal servizio. Ci sono molti tipi diversi di errori in questa categoria, troppi da elencare qui. Gli errori di questo tipo vengono restituiti al client as-is (nessuna trasformazione viene eseguita sugli oggetti eccezione).
Gli errori dell'applicazione si verificano durante l'esecuzione di un'operazione del servizio. Gli errori di questo tipo vengono inviati al client come FaultException o FaultException<TDetail>.
La gestione degli errori in WCF viene eseguita da una o più delle operazioni seguenti:
Gestione diretta dell'eccezione generata. Questa operazione viene eseguita solo per errori di comunicazione e proxy/canale.
Uso dei contratti di guasto
Implementazione dell'interfaccia IErrorHandler
Gestione degli ServiceHost eventi
Contratti di errore
I contratti di errore consentono di definire gli errori che possono verificarsi durante l'operazione del servizio in modo indipendente dalla piattaforma. Per impostazione predefinita, tutte le eccezioni generate dall'interno di un'operazione del servizio verranno restituite al client come FaultException oggetto . L'oggetto FaultException conterrà pochissime informazioni. È possibile controllare le informazioni inviate al client definendo un contratto di errore e restituendo l'errore come .FaultException<TDetail> Per altre informazioni, vedere Specifica e gestione degli errori nei contratti e nei servizi.
Interfaccia di gestione degli errori (IErrorHandler)
L'interfaccia IErrorHandler consente di controllare maggiormente il modo in cui l'applicazione WCF risponde agli errori. Offre il controllo completo sul messaggio di errore restituito al client e consente di eseguire l'elaborazione degli errori personalizzata, ad esempio la registrazione. Per altre informazioni sulla IErrorHandler
ServiceHost Eventi
La ServiceHost classe ospita i servizi e definisce diversi eventi che possono essere necessari per la gestione degli errori. Per esempio:
Per altre informazioni, vedere ServiceHost