Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Mit der Web-HTTP-Fehlerbehandlung von Windows Communication Foundation (WCF) können Sie Fehler von WCF-Web-HTTP-Diensten zurückgeben, die einen HTTP-Statuscode angeben und Fehlerdetails mit demselben Format wie der Vorgang (z. B. XML oder JSON) zurückgeben.
WCF Web HTTP-Fehlerbehandlung
Die WebFaultException Klasse definiert einen Konstruktor, mit dem Sie einen HTTP-Statuscode angeben können. Dieser Statuscode wird dann an den Client zurückgegeben. Mit einer generischen Version der WebFaultException Klasse können Sie einen benutzerdefinierten Typ zurückgeben, WebFaultException<T> der Informationen zu dem aufgetretenen Fehler enthält. Dieses benutzerdefinierte Objekt wird mithilfe des vom Vorgang angegebenen Formats serialisiert und an den Client zurückgegeben. Das folgende Beispiel zeigt, wie ein HTTP-Statuscode zurückgegeben wird.
public string Operation1()
{
// Operation logic
// ...
throw new WebFaultException(HttpStatusCode.Forbidden);
}
Das folgende Beispiel zeigt, wie Ein HTTP-Statuscode und zusätzliche Informationen in einem benutzerdefinierten Typ zurückgegeben werden. MyErrorDetail ist ein benutzerdefinierter Typ, der zusätzliche Informationen zu dem aufgetretenen Fehler enthält.
public string Operation2()
{
// Operation logic
// ...
MyErrorDetail detail = new MyErrorDetail()
{
Message = "Error Message",
ErrorCode = 123,
}
throw new WebFaultException<MyErrorDetail>(detail, HttpStatusCode.Forbidden);
}
Der vorangehende Code gibt eine HTTP-Antwort mit dem Verbotenen Statuscode und einem Textkörper zurück, der eine Instanz des MyErrorDetails Objekts enthält. Das Format des MyErrorDetails Objekts wird durch Folgendes bestimmt:
Der Wert des
ResponseFormat-Parameters des WebGetAttribute- oder WebInvokeAttribute-Attributs, das für den Dienstvorgang angegeben wurde.Der Wert von AutomaticFormatSelectionEnabled.
Der Wert der Format-Eigenschaft, indem auf OutgoingWebResponseContext zugegriffen wird.
Weitere Informationen dazu, wie sich diese Werte auf die Formatierung des Vorgangs auswirken, finden Sie unter WCF Web HTTP-Formatierung.
WebFaultException ist ein FaultException und kann daher als Fehler ausnahmeprogrammierungsmodell für Dienste verwendet werden, die SOAP-Endpunkte sowie Web-HTTP-Endpunkte verfügbar machen.