在我的服务中,除了某些强制参数和所有输入参数之外的所有方法都封装在消息契约中。
现在,我们正在验证每个服务方法中的输入,就像在所有服务方法中复制验证逻辑一样。有什么办法可以将所有这些验证移到共同的地方,而且我不希望我的服务方法被执行,因为输入无效。
感谢您的建议。
在我的服务中,除了某些强制参数和所有输入参数之外的所有方法都封装在消息契约中。
现在,我们正在验证每个服务方法中的输入,就像在所有服务方法中复制验证逻辑一样。有什么办法可以将所有这些验证移到共同的地方,而且我不希望我的服务方法被执行,因为输入无效。
感谢您的建议。
Enterprise Library Validation Application Block有一个与 WCF 集成的模块。
它将输入验证实现为 WCF 参数检查器。如果参数验证失败,您的方法将永远不会被调用。
是的,您可以对每个请求使用FluentValidator 。MessageContract
您可以为具有通用验证规则的请求编写通用验证器。
例如:如果您想在两者中验证员工个人资料CreateEmployeeRequest
,UpdateEmployeeRequest
那么您可以为员工个人资料 () 编写通用验证器,EmployeeProfileValidator
并在创建和更新员工请求验证器中使用此验证器。