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.
La gestione degli errori HTTP Web di Windows Communication Foundation (WCF) consente di restituire errori dai servizi HTTP Web WCF che specificano un codice di stato HTTP e restituiscono i dettagli dell'errore usando lo stesso formato dell'operazione, ad esempio XML o JSON.
Gestione degli errori Web HTTP WCF
La WebFaultException classe definisce un costruttore che consente di specificare un codice di stato HTTP. Questo codice di stato viene quindi restituito al client. Una versione generica della WebFaultException classe consente WebFaultException<T> di restituire un tipo definito dall'utente che contiene informazioni sull'errore che si è verificato. Questo oggetto personalizzato viene serializzato usando il formato specificato dall'operazione e restituito al client. Nell'esempio seguente viene illustrato come restituire un codice di stato HTTP.
public string Operation1()
{
// Operation logic
// ...
throw new WebFaultException(HttpStatusCode.Forbidden);
}
Nell'esempio seguente viene illustrato come restituire un codice di stato HTTP e informazioni aggiuntive in un tipo definito dall'utente.
MyErrorDetail
è un tipo definito dall'utente che contiene informazioni aggiuntive sull'errore che si è verificato.
public string Operation2()
{
// Operation logic
// ...
MyErrorDetail detail = new MyErrorDetail()
{
Message = "Error Message",
ErrorCode = 123,
}
throw new WebFaultException<MyErrorDetail>(detail, HttpStatusCode.Forbidden);
}
Il codice precedente restituisce una risposta HTTP con il codice di stato non consentito e un corpo che contiene un'istanza dell'oggetto MyErrorDetails
. Il formato dell'oggetto MyErrorDetails
è determinato da:
Il valore del parametro
ResponseFormat
dell'attributo WebGetAttribute o WebInvokeAttribute specificato sull'operazione del servizio.Valore di AutomaticFormatSelectionEnabled.
Valore della Format proprietà accedendo a OutgoingWebResponseContext.
Per altre informazioni su come questi valori influiscono sulla formattazione dell'operazione, vedere Formattazione HTTP Web WCF.
WebFaultException è un FaultException e pertanto può essere usato come modello di programmazione delle eccezioni di guasto per i servizi che espongono endpoint SOAP e endpoint HTTP Web.