c# – FluentValidation,Validators生命周期并使用Validators检查Db

前端之家收集整理的这篇文章主要介绍了c# – FluentValidation,Validators生命周期并使用Validators检查Db前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的MVC4项目中使用FluentValidation.每件事都很完美,它与我的IoC(StructureMap)相连.

我有两个问题:

>我应该如何管理验证器的生命周期?可以让他们成为单身人士吗?或者没有区别,我可以根据自己的需要管理生命周期?这里的最佳做法是什么?
> FluentValidation非常好.我一直在使用它进行简单的验证(例如:属性不是空的等).我正在考虑使用它做一些Db验证(比如:属性值是唯一的.)我可以使用StructureMap将我的存储库传递给它,并检查Db的值.这是一个好主意吗?或者我应该在我的服务层而不是在我的IValidator中实现这个逻辑?

如果您在类似场景中使用它,您的体验是什么?

解决方法

我已经使用了FluentValidation多年了,并且已经问过并找出了你的问题.

>就个人而言,创建验证器的成本并不是很昂贵,所以我不会让它们成为单身人士.我遇到了需要访问HttpContext以要求文件上传的单身人士的问题.会发生什么是第一个HttpContext始终用于验证而不是当前的验证.

我个人建议你不要使用单身人士.

>我实际上一直这样做,我喜欢它.请注意,您注入的任何依赖都应该是有效的.如果您的数据库查询执行全表扫描并需要30秒,那么这不是一个好的体验.就像我上面说的那样,我通常会注入HttpContext来检查文件是否上传,并且我传递了一个DataContext来验证电子邮件是否尚未被采用.

对此疯狂,它是FluentValidation的一个巨大优势,只需确保依赖性在时间和资源方面并不昂贵.

原文链接:https://www.f2er.com/csharp/100549.html

猜你在找的C#相关文章