Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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
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.
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.
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.