Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis 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.