WCF客户端的默认属性值

时间:2012-11-16 00:22:46

标签: c# wcf default-value

我有以下情况:

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

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

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

服务端的WCF方法接受它并做任何事情。

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

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

我真的希望在客户端上提供所有这些默认值。

我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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