Megosztás:


XmlSerializer-hibák

Az XmlSerializerFaults minta bemutatja, hogyan továbbíthat hibainformációkat egy szolgáltatásból egy ügyfélnek a XmlSerializer. A minta az első lépéseken alapul, és hozzáadtunk néhány további kódot a szolgáltatáshoz, hogy egy belső kivételt hibaként alakítsunk át. Az ügyfél nullával való osztást kísérel meg végrehajtani, hogy hibát generáljon a szolgáltatásban.

Megjegyzés:

A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók.

A kalkulátorszerződés úgy lett módosítva, hogy az a következő mintakódban látható módon szerepeljen FaultContractAttribute . Emellett a XmlSerializerFormatAttribute szerializálás engedélyezésére is használható a XmlSerializer. A SupportFaults tulajdonság true értékre van állítva ezen az attribútumon, amely arra utasítja a szerializálót, hogy az XmlSerializer-t használja a hibák olvasására és írására.

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

Az ügyfélproxy kódjának létrehozásakor a /UseSerializerForFaults jelzőt kell alkalmaznia a ServiceModel Metadata Segédprogramra (Svcutil.exe).

A példa beállítása, elkészítése és futtatása

  1. Győződjön meg arról, hogy elvégezte a Windows Communication Foundation-minták One-Time beállítási eljárását.

  2. A megoldás C# vagy Visual Basic .NET kiadásának létrehozásához kövesse Windows Communication Foundation-mintákcímű témakör utasításait.

  3. Ha a mintát egy vagy több gép közötti konfigurációban szeretné futtatni, kövesse A Windows Communication Foundation-minták futtatásacímű témakör utasításait.

Lásd még