XmlSerializer-Fehler

Im XmlSerializer-Fehlervertragsbeispiel wird veranschaulicht, wie Fehlerinformationen von einem Dienst zu einem Client mit XmlSerializer übermittelt werden. Das Beispiel basiert auf Erste Schritte. Dem Dienst wurde dabei zusätzlicher Code hinzugefügt, um eine interne Ausnahme in einen Fehler zu konvertieren. Der Client versucht, eine Division durch 0 (null) auszuführen, um einen Fehlerzustand beim Dienst zu erzwingen.

Hinweis

Die Setupprozedur und die Buildanweisungen für dieses Beispiel befinden sich am Ende dieses Themas.

Der Rechnervertrag wurde geändert, um ein FaultContractAttribute einzuschließen, wie im folgenden Beispielcode gezeigt. Darüber hinaus wird das XmlSerializerFormatAttribute verwendet, um die Serialisierung mit XmlSerializer zu aktivieren. Die SupportFaults-Eigenschaft wird für dieses Attribut auf true festgelegt, wodurch das Serialisierungsprogramm angewiesen wird, XmlSerializer zum Schreiben und Lesen von Fehlern zu verwenden.

[XmlSerializerFormat(SupportFaults=true)]  
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]  
public interface ICalculator  
{  
    [OperationContract]  
    int Add(int n1, int n2);  

    [OperationContract]  
    int Subtract(int n1, int n2);  

    [OperationContract]  
    int Multiply(int n1, int n2);  

    [OperationContract]  
    [FaultContract(typeof(MathFault))]  
    int Divide(int n1, int n2);  
}  

Beim Generieren von Code für den Clientproxy müssen Sie das \/UseSerializerForFaults-Flag auf ServiceModel Metadata Utility-Tool (Svcutil.exe) anwenden.

So können Sie das Beispiel einrichten, erstellen und ausführen

  1. Stellen Sie sicher, dass Sie die Einmaliges Setupverfahren für Windows Communication Foundation-Beispiele ausgeführt haben.

  2. Zum Erstellen der C#- oder Visual Basic .NET-Edition der Projektmappe befolgen Sie die unter Erstellen der Windows Communication Foundation-Beispiele aufgeführten Anweisungen.

  3. Um das Beispiel in einer Konfiguration mit einem Computer oder computerübergreifend auszuführen, befolgen Sie die Anweisungen unter Durchführen der Windows Communication Foundation-Beispiele.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.

<Installationslaufwerk>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.

<Installationslaufwerk>:\WF_WCF_Samples\WCF\Basic\Contract\Service\XmlSerializerFaults

Siehe auch

XmlSerializerFormatAttribute
SupportFaults