MrC*_*aze 2 validation wcf extension-methods
问候!
我在应用程序服务器上使用WCF库,该服务器由IIS服务器(因此是客户端)引用.我想把我的验证放在一个地方,这样我就可以调用.Validate(),它返回一个错误的字符串数组(字段太短,缺少等).问题是,这些函数不会跨越WCF边界,我真的不想在WCF服务和IIS/WCF客户端中编写相同的逻辑.有没有办法使用扩展方法或类似的东西,所以双方都可以使用.Validat()方法调用相同的代码?
非常感谢任何想法!史蒂夫
如果您控制线路的两端,即服务器端(服务)和客户端,那么您可以执行以下操作:
ClientBase<T>创建或从中创建ChannelFactory<T>) - 不要使用"添加服务引用"或svcutil.exe!如果要使用共享验证程序集,则必须确保服务器和客户端上使用的数据类型相同 - 只有在共享服务和数据协定时才能实现.不幸的是,这需要手动创建客户端代理(这真的不是什么大问题!).
如果您使用"添加服务引用",则Visual Studio将根据其元数据检查服务,并创建一组新的客户端对象,这些对象在其字段和所有字段方面看起来相同,但它们是一个单独的,不同的类型,因此您将无法在服务器端和客户端对象上使用共享验证.
| 归档时间: |
|
| 查看次数: |
1597 次 |
| 最近记录: |