Delen via


VERWERKING van WCF-web-HTTP-fouten

Met WEB HTTP-foutafhandeling van Windows Communication Foundation (WCF) kunt u fouten retourneren uit WCF-web-HTTP-services die een HTTP-statuscode opgeven en foutdetails retourneren met dezelfde indeling als de bewerking (bijvoorbeeld XML of JSON).

VERWERKING van WCF-web-HTTP-fouten

De WebFaultException klasse definieert een constructor waarmee u een HTTP-statuscode kunt opgeven. Deze statuscode wordt vervolgens geretourneerd naar de client. Met een algemene versie van de klasse WebFaultException<T> kunt u een door de WebFaultException gebruiker gedefinieerd type retourneren dat informatie bevat over de fout die is opgetreden. Dit aangepaste object wordt geserialiseerd met behulp van de indeling die is opgegeven door de bewerking en wordt geretourneerd naar de client. In het volgende voorbeeld ziet u hoe u een HTTP-statuscode retourneert.

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

In het volgende voorbeeld ziet u hoe u een HTTP-statuscode en extra informatie in een door de gebruiker gedefinieerd type retourneert. MyErrorDetail is een door de gebruiker gedefinieerd type dat extra informatie bevat over de fout die is opgetreden.

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

De voorgaande code retourneert een HTTP-antwoord met de verboden statuscode en een hoofdtekst die een exemplaar van het MyErrorDetails object bevat. De indeling van het MyErrorDetails object wordt bepaald door:

Zie WCF Web HTTP-opmaak voor meer informatie over hoe deze waarden van invloed zijn op de opmaak van de bewerking.

WebFaultException is een FaultException en kan daarom worden gebruikt als het foutonderzonderingsprogrammeermodel voor services die SOAP-eindpunten en web-HTTP-eindpunten beschikbaar maken.

Zie ook