Aracılığıyla paylaş


XmlSerializer Hataları

XmlSerializerFaults örneği, XmlSerializer kullanarak bir hizmetten istemciye hata bilgilerinin nasıl iletileceğini gösterir. Örnek, Başlarken esas alınarak, dahili bir istisnanın bir hataya dönüştürülmesi için servise bazı ek kodlar eklenmiş halidir. İstemci, hizmette bir hata koşulunu zorlamak için sıfıra bölmeyi dener.

Uyarı

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda yer alır.

Hesap makinesi sözleşmesi, aşağıdaki örnek kodda gösterildiği gibi bir FaultContractAttribute öğesini içerecek şekilde değiştirilmiştir. Ayrıca, XmlSerializerFormatAttribute kullanarak XmlSerializerserileştirmeyi etkinleştirmek için kullanılır. SupportFaults özelliği bu öznitelikte true olarak ayarlanır; bu da seri hale getiriciye okuma ve yazma hatalarında XmlSerializer'i kullanma talimatı verir.

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

İstemci proxy'si için kod oluştururken ServiceModel Meta Veri Yardımcı Programı Aracı'na (Svcutil.exe)/UseSerializerForFaults bayrağını uygulamanız gerekir.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Windows Communication Foundation Örnekleri içinOne-Time Kurulum Yordamını yaptığınızdan emin olun.

  2. Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örneklerioluşturma başlığındaki yönergeleri izleyin.

  3. Örneği tek bir makine veya makineler arası bir yapılandırmada çalıştırmak için, Windows Communication Foundation örneklerini çalıştırmayönergelerini izleyin.

Ayrıca bakınız