wcf 生成的类和验证应用程序块属性
我是验证应用程序块的新手,并尝试将其与 wcf 一起使用...
我有一个 wcf 服务,该服务具有使用属性定义的验证规则的数据对象,使用 验证应用程序块 。
在我的客户端 (WPF),我有一个服务参考。当我更新服务引用时,生成的类中没有验证规则属性。
我如何从服务中获取规则? 我是否错过了某些步骤,或者这是不可能的?
I'm new to the validation application block and trying to use it with wcf...
I have a wcf service that has data objects with validation rules defined with attributes, using the validation application block .
On my client side (WPF), I have a service reference. When I update the service reference the generated classes do not have the validation rules attributes in them.
How can I get the rules from the service?
Am I missing some step, or is it not possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当您使用“添加服务引用”时,将为服务创建代理类。但是,这不会保留所有验证属性,而只是创建与服务元数据相对应的属性。为了保留验证规则,您需要在 WCF 和 WPF 之间共享您的服务和数据协定。
为此,请将所有服务和数据契约移至程序集中。 WCF 和 WPF 都应引用此程序集。然后,您可以使用 ClientBase 或 ChannelFactory。
由于 WCF 和 WPF 引用使用 VAB 属性注释的相同类,因此您可以使用企业库在 WCF 和 WPF 中调用验证。
When you use Add Service Reference, proxy classes are created for the service. However, this will not retain all of your Validation Attributes but just create properties corresponding to the service metadata. In order to retain the validation rules you will need to share your service and data contracts between WCF and WPF.
To do this move all of your service and data contracts into an assembly. WCF and WPF should both reference this assembly. Then you can create your own proxy class using ClientBase or ChannelFactory.
Since both WCF and WPF are referencing the same classes annotated with the VAB Attributes you can invoke validation in both WCF and WPF using Enterprise Library.