1

我有 3 个项目的解决方案: 1. 客户端(参考:通过 Visual Studio 2012 创建的 DataContracts 和 ServiceReference,名称为 TaskerWcfService) 2. DataContracts 3. WCF 服务(DataContracts)

首先,我创建了 WCFService 并且在 DataContracts 中只有一个类:

[DataContract]
public class WorkItem
{
    [DataMember]
    public Int64 Id { get; set; }
    [DataMember]
    public String Title { get; set; }
    [DataMember]
    public String Description { get; set; }
    [DataMember]
    public String ItemType { get; set; }
}

然后,我创建了一个带有 ServiceReference(名称:TaskerWcfReference)的客户端,并且 WorkItem 类的命名空间是 - DataContracts lib。最后,我用额外的类扩展了 WCF 服务和 DataContracts:

public class InfoData
{
    [DataMember]
    public Guid Id { get; set; }
    [DataMember]
    public String Value { get; set; }
    [DataMember]
    public Int32 Order { get; set; }
    [DataMember]
    public bool IsDefault { get; set; }
}

但是当我更新 ServiceReference 时,我发现 InfoData 类在自动生成的代理中,它的命名空间是:TaskerWcfReference.InfoData。

为什么以类似方式描述的类 - 放置在不同的地方?服务契约的函数以同样的方式返回 Generic.List 和 T。服务合同的描述也类似。

4

0 回答 0