【发布时间】:2011-04-21 17:54:54
【问题描述】:
我很好奇这是不是一个疯狂的想法。现在我有一个典型的结构如下
客户端(目前是 asp.net mvc3,但将来可能是任何东西)
WCF 服务层
领域层
数据层
我在域层中完成了一些非常复杂的验证。 DataAnnotations 是不够的。因此,该验证以更手动的方式完成,但仍通过服务层传递回客户端。
但是,DataAnnotations 可以进行简单的验证(字段不为空,必须大于 0,不能超过 10 个字符)。
这是我的计划。我已经分发了一个具有 DTO 对象的基本 DataContract dll。这是因为我有多个 WCF 服务。我计划创建一个包含具有 DataAnnotations 属性的伙伴元数据类的程序集。然后这个类用于我的 DTO 和我的域实体。这样我就可以在不通过 Web 服务的情况下获得简单的验证,但它仍然集中在一个地方。但是,对于不支持该功能的客户端(例如 java),如果他们通过 WCF 服务,他们仍然会得到验证。
本来我不想向客户端分发任何东西,但是为了在服务之间共享 DataContracts,无论如何我都必须这样做。
这是一个疯狂的想法吗?我知道其他人只是在做一些双重验证。有没有更好的方法来实现这一点?我已经对其进行了测试,它确实有效,但我不确定当我的整个模型构建完成时它的扩展性如何(现在只是原型制作)。
谢谢
【问题讨论】:
标签: wcf validation asp.net-mvc-3 data-annotations