以下に定義されているデータコントラクトがあります。
[DataContract(Namespace="",Name="community")]
public class Community {
[DataMember(Name="id")]
public int Id{get; set;}
[DataMember(Name="name")]
public string Name { get; set; }
[DataMember(Name="description")]
public string Description { get; set; }
}
サービス契約は次のようになります。
[OperationContract]
[WebGet(
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Xml,
UriTemplate = "{id}"
)]
Community GetCommunity(string id);
ホストに残りの呼び出しを行うと、データが取得されますが、Id プロパティと Name プロパティのみが入力されます。説明プロパティが null です! ClientBase から継承してチャネルを作成しています。
WCF が Id と Name をシリアル化するのに Description をシリアル化しない理由を知っている人はいますか? ホストからの応答で転送エンコーディングが「チャンク」に設定されていますが、それが何か関係があるかどうか知りたいですか?