Sdílet prostřednictvím


Zpracování chyb HTTP programování webové služby WCF

Zpracování chyb http webového protokolu HTTP služby Windows Communication Foundation (WCF) umožňuje vracet chyby ze služeb WCF Web HTTP, které určují stavový kód HTTP a vrací podrobnosti o chybách pomocí stejného formátu jako operace (například XML nebo JSON).

Zpracování chyb HTTP programování webové služby WCF

Třída WebFaultException definuje konstruktor, který umožňuje zadat stavový kód HTTP. Tento stavový kód se pak vrátí klientovi. Obecná verze WebFaultException třídy WebFaultException<T> umožňuje vrátit uživatelem definovaný typ, který obsahuje informace o chybě, ke které došlo. Tento vlastní objekt je serializován pomocí formátu určeného operací a vrácený klientovi. Následující příklad ukazuje, jak vrátit stavový kód HTTP.

public string Operation1()
{
    // Operation logic  
   // ...
   throw new WebFaultException(HttpStatusCode.Forbidden);
}  

Následující příklad ukazuje, jak vrátit stavový kód HTTP a další informace v uživatelem definovaném typu. MyErrorDetail je uživatelem definovaný typ, který obsahuje další informace o chybě, ke které došlo.

public string Operation2()
{
   // Operation logic  
   // ...
   MyErrorDetail detail = new MyErrorDetail()
   {  
      Message = "Error Message",  
      ErrorCode = 123,  
   }  
   throw new WebFaultException<MyErrorDetail>(detail, HttpStatusCode.Forbidden);  
}  

Předchozí kód vrátí odpověď HTTP se stavovým kódem Zakázáno a tělem, který obsahuje instanci objektu MyErrorDetails . Formát objektu MyErrorDetails je určen takto:

Další informace o tom, jak tyto hodnoty ovlivňují formátování operace, naleznete v tématu WCF Web HTTP Formatting.

WebFaultExceptionFaultException je a proto se dá použít jako programovací model výjimek selhání pro služby, které zpřístupňují koncové body SOAP i webové koncové body HTTP.

Viz také