1

我有以下情况:

有一个复杂的对象驻留在独立类库中,并且一些对象属性具有默认值。

该对象是 WCF 公共方法的参数。

我在 WCF 的客户端上实例化这个对象,将值分配给属性并将其传递给 WCF 公共方法。

服务端的 WCF 方法接受它并执行任何操作。

我的问题是,当我在客户端属性上实例化对象时,我无法使用默认值,我必须再次在代码中分配它们。

我在这里查看了有关该主题的过去问题,但没有找到与我的场景相关的任何内容。尽管在客户端我的对象不是从类库本身而是从服务引用实例化的,但我并没有真正的参数数据协定,例如 WCFServiceReference.MyClass (否则 WCF 方法不能接受它作为参数)。

我真的很想在客户端上使用所有这些默认值。

我将不胜感激任何帮助。

谢谢!

4

1 回答 1

2

使用您的方法 - 使用服务代理类 - 客户端仅获取标有 的属性DataMember。这就是为什么您分配的默认值不会出现在客户端中的原因——该代码未序列化,因此不会与 WCF 服务一起发送。

如果要共享代码,可以通过DataContract在单独的类库中声明类来实现。让 WCF 服务和客户端都引用该库。

于 2012-11-16T00:28:27.990 回答