首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >温莎城堡组件生活方式建议

温莎城堡组件生活方式建议
EN

Stack Overflow用户
提问于 2012-02-13 14:25:40
回答 2查看 516关注 0票数 1

我正在寻找一些关于如何最好地配置这种情况的建议。我在一个ASP.MVC应用程序中有以下组件。

根据MVC layer

  • Validators服务的要求,
  • 控制器--控制器调用这些控制器来访问业务
  • --服务使用这些控制器来验证组件。它们的创建成本很高,所以我需要它们成为Singleton
  • Repositories - Services,并且验证器使用它们来访问数据(
  • ISession- NHibernate会话),配置为PerWebRequest

我正在研究如何最好地配置服务和存储库。从表面上看,它们似乎都可以配置相同。存储库仅依赖(在构造函数上传递)是ISession。只有依赖项(在构造函数上传递)才是存储库。当一个服务需要一个Validator时,它会从ServiceLocator获得它。验证器在构造函数中获取存储库。我认为,因为验证器是Singleton,所以传递瞬态存储库是有问题的,因为Validator将保留一个拥有已释放的ISession的存储库。

这里的任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2012-02-14 09:03:01

依赖于UnitOfWork的任何存储库(ORM,自定义实现.)必须是短暂的或至少相同的UoW生活方式。

如果您的Validator需要一个“只读”访问存储通过存储库..。您可能会考虑拥有一个Singleton存储库,但是对它的实现非常小心。

票数 1
EN

Stack Overflow用户

发布于 2012-02-14 19:48:02

依赖于使用PerWebRequest

  • Repositories (可能是单例)的
  • 会话,如果它们被注入会话,则它们被绑定到会话的生存期,因此PerWebRequest
  • Validators :创建?昂贵??好的,如果他们需要回购或者会话,在这里同样适用,因为repos itself
  • services:可能也可以是每个web请求

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

https://stackoverflow.com/questions/9262131

复制
相关文章

相似问题

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