我有一个如下定义的数据合同:
[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 属性。描述属性为空!我通过从 ClientBase 继承来创建频道。
有谁知道为什么 WCF 序列化 Id 和 Name 而不是 Description?在主机的响应中,传输编码设置为“分块”,我想知道这是否与它有关?