我正在尝试将我的WCF Web服务拆分为一些服务,而不是一个巨大的服务.但Visual Studio(Silverlight客户端)复制了两个服务共享的公共类.这是一个简单的例子来说明我的问题.
在此示例中,有两个服务.两者都返回“Person”类型.默认情况下,VS将在唯一的NameSpaces下创建两个单独的Person代理.这意味着不同服务返回的“Person”不能被客户端消费为同一个东西.我该如何解决?没有自己编写代理类是否可能?
共同
[DataContract] public class Person { [DataMember] string FirstName { get; set; } [DataMember] string LastName { get; set; } [DataMember] string PrivateData { get; set; } }
StaffService.svc
[ServiceContract(Namespace = "")] public class StaffService { [OperationContract] public Person GetPerson () { return new Person {"John","Doe","secret"}; }; }
PublicService.svc
[ServiceContract(Namespace = "")] public class PublicService { [OperationContract] public Person GetPerson () { return new Person {"John","*****"}; }; }
谢谢你的帮助!
贾斯汀