次の方法で共有


XmlSerializer エラー

XmlSerializerFaults サンプルでは、XmlSerializer を使用して、エラー情報をサービスからクライアントに通信する方法を示します。 このサンプルは、「入門サンプル」に基づいており、内部例外をエラーに変換するためのコードをサービスに追加しています。 クライアントは 0 による除算を試行し、サービスを強制的にエラー状態にします。

Note

このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。

電卓コントラクトは、FaultContractAttribute が含まれるように変更されています。次のサンプル コードを参照してください。 また、XmlSerializerFormatAttribute は、XmlSerializer を使用したシリアル化を有効にするために使用されます。 SupportFaults プロパティは、この属性で true に設定され、エラーの読み取りと書き込みに XmlSerializer を使用することをシリアライザーに指示します。

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

クライアント プロキシのコードを生成するときは、ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe)/UseSerializerForFaults フラグを適用する必要があります。

サンプルをセットアップ、ビルド、および実行するには

  1. Windows Communication Foundation サンプルの 1 回限りのセットアップの手順を実行したことを確認します。

  2. ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「 Building the Windows Communication Foundation Samples」の手順に従います。

  3. 単一または複数コンピューター構成でサンプルを実行するには、「Windows Communication Foundation サンプルの実行」の手順に従います。

関連項目