我做了什麼我的代碼看起來像一個簡單的引擎收錄演示的例子:http://pastebin.com/GpDhPRVm如何允許客戶服務在WCF服務中構建複雜對象?
我的實際Process
對象是極其複雜的,包括添加任務,文檔,工作流,等集合到一個Process
對象,並通過方法設置屬性,等
我PasteBin example是如此簡單,因爲我可以讓它顯示事情分解的地方。在我的服務中包含Process
對象的CreateNewProcess
方法(如下面的代碼所示)允許服務用戶在客戶端的實例中自動「查看」對象,屬性和枚舉器。
<ServiceContract()>
Public Interface ICreateProcess
<OperationContract()>
Sub CreateNewProcess(ByVal newprocess As Process)
End Interface
然而,它不允許他們使用任何的像「AddTask」方法(shown in PasteBin example)的方法和它也不會暴露Task
或TaskCollection
對象。即使我用DataContract
,OperationContract
等裝飾方法,它們仍然對客戶端服務不可見。
這是我的主要問題:我需要的客戶服務能夠完全「打造」的Process
對象,然後將它傳遞到CreateNewProcess
方法。
另一個小記:(避免評論問我這件事)是,我確信,我的所有屬性都是簡單類型是可互操作的,因爲這需要能夠爲Java的工作 - 不只是.NET客戶端。