次の方法で共有


POCO サポート

このサンプルでは、マークされていない型 (シリアル化属性が適用されていない型で、POCO (Plain Old CLR Object) 型と呼ばれる場合もあります) のシリアル化のサポートについて説明します。DataContractSerializer では、既定のコンストラクタを持つすべてのマークされていないパブリック型について、データ コントラクトを推測します。データ コントラクトを使用すると、サービスとの間で構造化データをやり取りできます。マークされていない型詳細情報、「シリアル化可能な型」を参照してください。

このサンプルは入門サンプルに基づいていますが、プリミティブ数値型ではなく複素数を使用します。また、DataContractAttribute 属性と DataMemberAttribute 属性が使用されない点を除いて、基本的なデータ コントラクトのサンプルにも類似しています。

サービスはインターネット インフォメーション サービス (IIS) によってホストされています。クライアントはコンソール アプリケーション (.exe) です。

Cc681329.note(ja-jp,VS.100).gif注 :
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。

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

サンプルを設定、ビルド、および実行するには

  1. Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」が実行済みであることを確認します。

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

  3. 単一コンピューター構成か複数コンピューター構成かに応じて、「Running the Windows Communication Foundation Samples」の手順に従います。

Cc681329.Important(ja-jp,VS.100).gif 注 :
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。

<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

参照

リファレンス

IgnoreDataMemberAttribute

概念

シリアル化可能な型