我在寫一個.net WCF服務。我已經寫了一些我想返回到WCF服務的調用代碼的類;因此,我用DataContract
屬性來裝飾它們。如何在WCF客戶端中用DataContractAttribute裝飾的類中使用方法?
我們假設我的WCF服務叫做FooService
。它包含一個名爲FooMethod
方法,它返回FooData
類型(其被飾以DataContract
屬性的對象。假設FooData
包含號碼列表和被叫FooAverage
方法,它返回數的平均值。
在Visual Studio,我創建了一個新的應用程序來使用服務,我在我的WCF服務中添加了一個新的「服務引用」,並給它命名空間myWcfService
在我的客戶端代碼中,我實例化一個代理類並獲得服務的連接。從我的代理獲取FooData
對象,方法調用爲myWcfService.FooMethod()
。它返回一個類型爲myWcfService.FooData
的對象,該對象是根據FooService
元數據確定的類型。
既然我有我的對象myWcfService.FooData
類型,我怎樣才能將這些數據轉換成類型爲FooData
的對象作爲服務代碼中的原始類型,以便我可以調用FooData.FooAverage()
?
編輯:我完全意識到數據以XML格式出現在管道中,並且該服務沒有返回裝飾有DataContract
的類中的方法的邏輯;它不是可序列化的。我問的是:如果我可以引用包含服務中使用的DataContract
類的類,是否有一種簡單的方法將數據反序列化到序列化的類中?
我願意接受現在的.net框架無法做到的答案。
我會避免遠程處理 - WCF使這一過時。將操作添加到服務合約是在WCF中執行此操作的方法。但是,當我讀到這個問題時,這並不是他所問的。 – 2010-12-17 00:28:20