Delen via


XmlSerializer-fouten

Het xmlSerializerFaults-voorbeeld laat zien hoe u foutinformatie van een service naar een client communiceert met behulp van de XmlSerializer. Het voorbeeld is gebaseerd op aan de slag, waarbij er extra code aan de service is toegevoegd om een interne uitzondering naar een fout te converteren. De client probeert deling door nul uit te voeren om een foutvoorwaarde voor de service af te dwingen.

Notitie

De installatieprocedure en build-instructies voor dit voorbeeld bevinden zich aan het einde van dit onderwerp.

Het rekenmachinecontract is aangepast om een FaultContractAttribute zoals weergegeven in de volgende voorbeeldcode op te nemen. XmlSerializerFormatAttribute Het wordt ook gebruikt om serialisatie in te schakelen met behulp van de XmlSerializer. De SupportFaults eigenschap is ingesteld true op dit kenmerk, waarmee de serializer wordt geïnstrueerd om de XmlSerializer te gebruiken voor lees- en schrijffouten.

[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);
}

Wanneer u code voor de clientproxy genereert, moet u de vlag /UseSerializerForFaults toepassen op het hulpprogramma voor metagegevens van ServiceModel (Svcutil.exe).

Het voorbeeld instellen, compileren en uitvoeren

  1. Zorg ervoor dat u de eenmalige installatieprocedure voor de Windows Communication Foundation-voorbeelden hebt uitgevoerd.

  2. Als u de C# of Visual Basic .NET-editie van de oplossing wilt bouwen, volgt u de instructies in het bouwen van de Windows Communication Foundation-voorbeelden.

  3. Als u het voorbeeld wilt uitvoeren in een configuratie met één of meerdere computers, volgt u de instructies in Het uitvoeren van de Windows Communication Foundation-voorbeelden.

Zie ook