Sdílet prostřednictvím


Zpracování chyb HTTP webu WCF

Zpracování chyb webového protokolu HTTP ve službě Windows Communication Foundation (WCF) umožňuje vracet chyby z těchto služeb, které určují stavový kód HTTP a podrobnosti o chybách navracejí ve stejném formátu jako operace (například XML nebo JSON).

Zpracování chyb HTTP webu 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.

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

Viz také