WCF

XML シリアライズで通信する

WCF では、転送するデータを XML にシリアル化して、通信します。デフォルトでは DataContractSerializer クラスを使用しますが、XmlSerializer クラスでもよいです。

  • XmlSerializer は DataContractSerializer クラスよりもサポートされる型の範囲が狭いですが、結果の XML に対する制御の柔軟性に優れています。
  • XML スキーマ定義言語 (XSD) 標準のサポート範囲が広く、シリアル化可能な型で宣言型属性が要求されません。

サービス側の作成例:

従来の DataContract として定義するデータモデルを下記のように変更します。

public class CompositeType
{
    [System.Xml.Serialization.XmlElementAttribute]
    public string StringValue { get; set; }
    
    [System.Xml.Serialization.XmlElementAttribute]
    public int IntValue { get; set; }
}

サービスの定義

[ServiceContract]
[XmlSerializerFormat]
public interface IService1 { ...

クライアント側のプロキシの生成

Visual Studio の Svcutil.exe または [サービス参照の追加] 機能を使用して、サードパーティ サービス用のクライアント コードを生成したり、サードパーティ スキーマを利用する場合、適切なシリアライザーが自動的に選択されます。スキーマに DataContractSerializer との互換性がない場合は、XmlSerializer が選択されます。



ウィジェット型CM動画配信サービス manna [マナ]

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:44:05 (1628d)

e[NȂECir Yahoo yV LINEf[^[Ōz500~`I
z[y[W ̃NWbgJ[h COiq@COsیI COze