将WCF验证传递到mvc客户端而不重复

本文关键字:客户端 mvc WCF 验证 | 更新日期: 2023-09-27 18:09:15

我正在研究一个项目,其中有现有的WCF(与数据注释验证),这将在MVC项目中使用。我们希望在WCF中使数据注释验证能够在MVC客户端工作,而无需复制任何验证逻辑,并继承MVC中的任何类。默认情况下,如果模型是用MVC编写的,jquery无障碍验证将在客户端为我们完成其余的工作,但当WCF芯片加入时,情况就不一样了。

我们的团队一直在破解我们的方法来完成这项工作,但不幸的是,我们还没有找到任何优雅的解决方案。然而,我们认为,如果可以这样做,每次后端更改时,这将减少大量的细化表示层的工作。

也许我们正在努力实现一些太好而不真实的东西,但我们很感激如果有人在这条道路上经历过/研究可以给我们一些提示/建议。

注意:不能在表示层或其他层复制域模型。

将WCF验证传递到mvc客户端而不重复

也许你可以利用企业库验证应用程序块(EntLib VAB)。因此,您可以在EntLib VAB中定义验证规则集,而不是在数据注释中定义验证规则。您也可以在WCF和MVC应用程序中使用相同的验证规则。也许您只需要在MVC应用程序中编写一个中间层,将EntLib VAB规则集转换为MVC数据注释规则集。只要这种转换是正确的,并且符合MVC中可用的数据注释验证,您甚至不必编写客户端数据验证适配器。

这不是一种容易的方法,但它节省了WCF和MVC web应用程序中POCO类的重复。此外,如果你能正确设置"框架",它可能在未来的设置新规则等方面被证明是有用的。

如果你喜欢这个想法,你可能想检查一下:http://programersnotebook.blogspot.de/2014/03/extending-enterprise-library-entlib.htmlhttp://programersnotebook.blogspot.de/2014/03/extending-entlib-vab-part-1-enable.htmlhttp://programersnotebook.blogspot.de/2014/04/extending-entlib-vab-part-21-create.htmlhttp://programersnotebook.blogspot.de/2014/04/extending-entlib-vab-part-22-enable.html