【问题标题】:Default property values for WCF clientWCF 客户端的默认属性值
【发布时间】:2012-11-04 16:56:52
【问题描述】:

我有以下场景:

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

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

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

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

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

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

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

我将不胜感激。

谢谢!

【问题讨论】:

    标签: c# wcf default-value


    【解决方案1】:

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

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

    【讨论】:

    • 您好 dbaseman,谢谢您的回答。我已经在一个单独的图书馆里上课了。用 DataMember 装饰班级成员对我没有帮助,但我想我现在明白为什么了。在阅读您的帖子时,我对如何解决该问题有所了解 - 我刚刚创建了一个 WCF 服务的公共方法,该方法返回我需要的对象,并在该方法中预设了默认值。我赞成您的回答,因为它促使我​​获得了这种见解。
    • @Anvar 没有问题,希望对您有所帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    相关资源
    最近更新 更多