簡體   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