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 フラグを適用する必要があります。
サンプルをセットアップ、ビルド、および実行するには
Windows Communication Foundation サンプルの 1 回限りのセットアップの手順を実行したことを確認します。
ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「 Building the Windows Communication Foundation Samples」の手順に従います。
単一または複数コンピューター構成でサンプルを実行するには、「Windows Communication Foundation サンプルの実行」の手順に従います。