[英]WCF the same type exposed by two web services
我有2个公开相同类型的Web服务。
WebService1{
public MyData Retrive(int id){...}
}
WebService2{
public void Save(MyData x){...}
}
我使用这两个服务,如:
var x=client1.Retrieve(3);
client2.Save(x);
问题:x的类型为WebService1Client.MyData; 保存需要WebService2Client.MyData类型的x;
MyData是同一类型,由2个Web服务公开。 我不能把两种方法放在同一个服务器上。 我该怎么办?
在单独的类库中定义MyData
,然后由Web服务引用。 还要在客户端中引用此共享库,并在添加服务引用时,确保选中了重用现有类型的选项。 然后,两个WCF服务的两端将使用完全相同的类型。
您可以在另一个程序集,类库中声明您的类MyData,并从Web服务以及调用这些服务的客户端代码引用该程序集。
您还可以考虑正确的继承,并将MyData作为基类的派生类,以防这对您有所帮助,那么您的服务只能与基类一起使用。
事实上,WCF对此有很大的帮助,因为它引入了DataContract的概念,在这种情况下你应该正确使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.