C# WCF客户端的默认属性值
我有以下情况: 独立类库中有一个复杂对象,某些对象属性具有默认值 该对象是WCF公共方法的参数 我在WCF的客户机上实例化这个对象,将值分配给属性,并将其传递给WCF公共方法 服务端的WCF方法接受它并执行任何操作 我的问题是,当我在客户机属性上实例化对象时,默认值不可使用,我必须在代码中再次分配它们 我在这里查看了过去关于该主题的问题,没有发现任何与我的场景相关的内容。虽然在客户端上,我的对象不是从类库本身实例化的,而是从服务引用实例化的,比如WCFServiceReference.MyClass(否则WCF方法不能接受它作为参数),但我并没有参数的数据约定 我真的希望所有这些默认值都能在客户端上使用 我将感谢任何帮助 谢谢 使用您的方法——使用服务代理类——客户端只获取标记为C# WCF客户端的默认属性值,c#,wcf,default-value,C#,Wcf,Default Value,我有以下情况: 独立类库中有一个复杂对象,某些对象属性具有默认值 该对象是WCF公共方法的参数 我在WCF的客户机上实例化这个对象,将值分配给属性,并将其传递给WCF公共方法 服务端的WCF方法接受它并执行任何操作 我的问题是,当我在客户机属性上实例化对象时,默认值不可使用,我必须在代码中再次分配它们 我在这里查看了过去关于该主题的问题,没有发现任何与我的场景相关的内容。虽然在客户端上,我的对象不是从类库本身实例化的,而是从服务引用实例化的,比如WCFServiceReference.MyCla
DataMember
的属性。这就是为什么您分配的默认值不会出现在客户机中——该代码未序列化,因此不会随WCF服务一起发送
如果要共享代码,可以通过在单独的类库中声明
DataContract
类来实现。让WCF服务和客户端都引用该库。您好,dbaseman,谢谢您的回答。我已经在一个单独的图书馆上课了。用DataMember装饰类成员对我没有帮助,但我想我现在明白了原因。在阅读您的帖子时,我已经了解了如何解决这个问题——我刚刚创建了一个WCF服务的公共方法,它返回我需要的对象,并在该方法中预设了默认值。我对你的答案投了更高的票,因为它促使我有这样的见解。@Anvar没问题,希望它能有所帮助!