Condividi tramite


Gestione degli errori HTTP Web WCF

La gestione degli errori HTTP Web di Windows Communication Foundation (WCF) consente di restituire errori da servizi HTTP Web WCF che specificano un codice di stato HTTP e restituiscono dettagli dell'errore utilizzando lo stesso formato dell'operazione (ad esempio, XML o JSON).

Gestione degli errori HTTP Web WCF

La classe WebFaultException definisce un costruttore che consente di specificare un codice di stato HTTP. Questo codice di stato viene quindi restituito al client. Versione generica della classe WebFaultException, WebFaultException consente di restituire un tipo definito dall'utente che contiene informazioni sull'errore verificatosi. Questo oggetto personalizzato viene serializzato utilizzando il formato specificato dall'operazione e restituito al client. Nell'esempio riportato di seguito viene illustrato il modo in cui restituire un codice di stato HTTP.

Public string Operation1()
{   // Operation logic
   // ...
   Throw new WebFaultException(HttpStatusCode.Forbidden);
}

Nell'esempio seguente viene mostrato il modo in cui 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 verificatosi.

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 proibito e un corpo che contiene un'istanza dell'oggetto MyErrorDetails. Il formato dell'oggetto MyErrorDetails viene determinato dagli elementi indicati di seguito.

Per ulteriori informazioni su come questi valori influiscono sulla formattazione dell'operazione, vedere Formattazione di HTTP Web WCF.

WebFaultException è un'eccezione FaultException e pertanto può essere utilizzata come modello di programmazione di eccezione dell'errore per i servizi che espongono endpoint SOAP e HTTP Web. Poiché HTTP non definisce un documento di metadati per esprimere il comportamento dell'errore, la funzionalità WebFaultException è una funzionalità lato server e non si applica al modello di programmazione di proxy client di WCF.

Vedere anche

Concetti

Formattazione di HTTP Web WCF
Definizione e specifica degli errori
Gestione di eccezioni ed errori
Invio e ricezione degli errori

Altre risorse

Modello di programmazione HTTP Web WCF