WCF-Web-HTTP-FehlerbehandlungWCF Web HTTP Error Handling

Die Web-HTTP-Fehlerbehandlung von Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) ermöglicht es Ihnen, Fehler von WCFWCF-Web-HTTP-Diensten zurückzugeben, die einen HTTP-Statuscode angeben, sowie Fehlerdetails im gleichen Format wie der Vorgang (z. B. XML oder JSON) zurückzugeben.Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) Web HTTP error handling enables you to return errors from WCFWCF Web HTTP services that specify an HTTP status code and return error details using the same format as the operation (for example, XML or JSON).

WCF-Web-HTTP-FehlerbehandlungWCF Web HTTP Error Handling

Die WebFaultException-Klasse definiert einen Konstruktor, der Ihnen das Angeben eines HTTP-Statuscodes ermöglicht.The WebFaultException class defines a constructor that allows you to specify an HTTP status code. Dieser Statuscode wird dann an den Client zurückgegeben.This status code is then returned to the client. Dies ist eine generische Version der WebFaultException-Klasse. Mit WebFaultException<T> können Sie einen benutzerdefinierten Typ zurückgeben, der Informationen zum aufgetretenen Fehler enthält.A generic version of the WebFaultException class, WebFaultException<T> enables you to return a user-defined type that contains information about the error that occurred. Dieses benutzerdefinierte Objekt wird in dem Format serialisiert, das vom Vorgang angegeben und an den Client zurückgegeben wird.This custom object is serialized using the format specified by the operation and returned to the client. Im folgenden Beispiel wird gezeigt, wie Sie einen HTTP-Statuscode zurückgeben.The following example shows how to return an HTTP status code.

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

Im folgenden Beispiel wird gezeigt, wie Sie einen HTTP-Statuscode und zusätzliche Informationen in einem benutzerdefinierten Typ zurückgeben.The following example shows how to return an HTTP status code and extra information in a user-defined type. MyErrorDetail ist ein benutzerdefinierter Typ, der zusätzliche Informationen zum aufgetretenen Fehler enthält.MyErrorDetail is a user-defined type that contains extra information about the error that occurred.

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

Der oben angegebene Code gibt eine HTTP-Antwort mit dem unzulässigen Statuscode und einem Text zurück, in der eine Instanz des MyErrorDetails-Objekts enthalten ist.The preceding code returns an HTTP response with the forbidden status code and a body that contains an instance of the MyErrorDetails object. Zum Bestimmen des Formats des MyErrorDetails-Objekts werden folgende Komponenten herangezogen:The format of the MyErrorDetails object is determined by:

Weitere Informationen finden Sie unterFor more information aboutDiese Werte beeinflussen die Formatierung des Vorgangs, finden Sie unter WCF Web-HTTP-Formatierung. how these values affect the formatting of the operation, see WCF Web HTTP Formatting.

WebFaultException ist ein FaultException-Objekt und kann daher als Fehlerausnahme-Programmiermodell für Dienste verwendet werden, die SOAP-Endpunkte sowie Web-HTTP-Endpunkte verfügbar machen.WebFaultException is a FaultException and therefore can be used as the fault exception programming model for services that expose SOAP endpoints as well as web HTTP endpoints.

Siehe auchSee Also

WCF-Web-HTTP-ProgrammiermodellWCF Web HTTP Programming Model
WCF-Web-HTTP-FormatierungWCF Web HTTP Formatting
Definieren und Angeben von FehlernDefining and Specifying Faults
Behandeln von Ausnahmen und FehlernHandling Exceptions and Faults
Senden und Empfangen von FehlernSending and Receiving Faults