我正在尝试将我的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","*****"};
- };
- }
谢谢你的帮助!
贾斯汀