繁体   English   中英

WCF是由两个Web服务公开的相同类型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM