我有一个 WCF 服务,其中有一些数据合同。我正在使用 Web 服务软件工厂,它使用设计器创建所有消息和数据以及其他合同,并将它们创建为部分类。重新生成代码时,将重新创建类。
using WcfSerialization = global::System.Runtime.Serialization;
[WcfSerialization::CollectionDataContract(Namespace = "urn:CAEService.DataContracts", ItemName = "SecurityItemCollection")]
public partial class SecurityItemCollection : System.Collections.Generic.List<SecurityItem>
{
}
数据契约是一个工作正常的自定义类的通用列表。但是我现在想为这个类添加一个属性,所以我在同一个命名空间中添加了这个部分类:
public partial class SecurityItemCollection
{
public int TotalRecords { get; set; }
}
这在服务端似乎工作正常,但是当我编译然后从客户端更新服务引用时,该类没有新属性,即当它序列化它并在客户端重新创建它时,它缺少新的财产。有谁知道这是为什么?
TIA
编辑:好的,这正式让我发疯。我唯一能看到的是它使用的是 CollectionDataContract 属性而不是 DataContract。这是否以某种方式不允许类中的数据成员被序列化?为什么会这样?它在服务端工作正常 - 我可以看到并填充值没问题。但是,当我在客户端上更新服务引用时,什么都没有,只有没有数据成员的 colelction 类。