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