首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FluentValidation注册

FluentValidation注册
EN

Stack Overflow用户
提问于 2013-06-18 03:25:41
回答 1查看 362关注 0票数 2

ServiceStack版本: 3.9.43

我使用内置的IoC容器和内置的FluentValidation。我使用对程序集的引用来注册我的验证器:

代码语言:javascript
复制
Plugins.Add(new ValidationFeature());
container.RegisterValidators(typeof(Foo).Assembly);

基于IoC docs,我希望我的验证器只实例化一次。不幸的是,它们的生命周期看起来是请求作用域的,我会为每个请求创建一个新的集合,这是很昂贵的。

既然验证器是thread safe,那么RegisterValidators这样做有什么原因吗?如果不是,那么将我的验证器注册为单例的推荐方式是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-18 03:59:26

我刚刚向允许specify the scope of which the FluentValidation validators are registered in的RegisterValidators提交了一个重载。现在可以使用以下命令指定单例作用域:

代码语言:javascript
复制
container.RegisterValidators(ReuseScope.Hierarchy, typeof(Foo).Assembly);

注意:只有当你的验证器不使用可任意使用的资源,例如数据库、数据存储/网络连接时,你才需要这样做。

在下一版本的ServiceStack v3.9.53+中的NuGet上提供。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17155227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档