次の方法で共有


XmlSerializer エラー

XmlSerializerFaults サンプルは、XmlSerializerを使用してサービスからクライアントにエラー情報を伝達する方法を示しています。 このサンプルは作業 の開始に基づいており、内部例外をエラーに変換するためのコードがサービスに追加されています。 クライアントは 0 による除算を実行して、サービスでエラー状態を強制しようとします。

このサンプルのセットアップ手順とビルド手順は、このトピックの最後にあります。

電卓コントラクトは、次のサンプル コードに示すように、 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 サンプル One-Time セットアップ手順を実行していることを確認します。

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

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

こちらも参照ください