このサンプルでは、マークされていない型 (シリアル化属性が適用されていない型で、POCO (Plain Old CLR Object) 型と呼ばれる場合もあります) のシリアル化のサポートについて説明します。DataContractSerializer では、既定のコンストラクタを持つすべてのマークされていないパブリック型について、データ コントラクトを推測します。データ コントラクトを使用すると、サービスとの間で構造化データをやり取りできます。マークされていない型詳細情報、「シリアル化可能な型」を参照してください。
このサンプルは入門サンプルに基づいていますが、プリミティブ数値型ではなく複素数を使用します。また、DataContractAttribute 属性と DataMemberAttribute 属性が使用されない点を除いて、基本的なデータ コントラクトのサンプルにも類似しています。
サービスはインターネット インフォメーション サービス (IIS) によってホストされています。クライアントはコンソール アプリケーション (.exe) です。
![]() |
---|
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。 |
ComplexNumber
クラスは、ServiceContract
で使用されます。次のサンプル コードに示すように、ComplexNumber
型には、DataContractAttribute 属性と DataMemberAttribute 属性がありません。既定では、パブリック プロパティとパブリック フィールドはすべてシリアル化されます。
public class ComplexNumber
{
public double Real;
public double Imaginary;
public ComplexNumber()
{
Real = double.MinValue;
Imaginary = double.MinValue;
}
public ComplexNumber(double real, double imaginary)
{
this.Real = real;
this.Imaginary = imaginary;
}
}
サンプルを設定、ビルド、および実行するには
「Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」が実行済みであることを確認します。
ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
単一コンピューター構成か複数コンピューター構成かに応じて、「Running the Windows Communication Foundation Samples」の手順に従います。
![]() |
---|
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。
<InstallDrive>:\WF_WCF_Samples
このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。
<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Contract\Data\POCO
|