在此示例中,有两个服务.两者都返回“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","*****"}; };}
谢谢你的帮助!
贾斯汀
这里需要注意的是,它只是被搜索的“引用程序集”,所以它不会获取其他服务生成的代理(我相信不同的命名空间也会阻止它).
我通常在我的Silverlight项目中有一个业务/域项目,所以我将我的共享类添加到该项目中(通常使用“添加现有项”>“添加为链接”以便共享代码).
完成后,您可以生成服务引用,他们应该选择现有类型.
希望这可以帮助
总结以上是内存溢出为你收集整理的c# – 向多个共享类的WCF服务添加服务引用全部内容,希望文章能够帮你解决c# – 向多个共享类的WCF服务添加服务引用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)