我做了什么我的代码看起来像一个简单的引擎收录演示的例子: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客户端。