我正在寻找一些关于如何最好地配置这种情况的建议。我在ASP MVC应用程序中有以下组件。
我正在研究如何最好地配置服务和存储库。从表面上看,它们似乎都可以配置相同。存储库只有依赖项(在构造函数中传入)是ISession。仅服务依赖项(在构造函数中传入)是存储库。当服务需要验证器时,它从ServiceLocator获取它。验证器在构造函数中获取存储库。我认为因为Validator是Singleton传递瞬态存储库是有问题的,因为Validator将保留到具有已处置的ISession的存储库。
非常感谢任何帮助。
答案 0 :(得分:1)
依赖于UnitOfWork(ORM,自定义实现......)的任何存储库必须是瞬态的或至少与UoW生活方式相同。
如果您的Validator需要通过Repository对存储进行“只读”访问...您可以考虑使用Singleton存储库,但要非常小心其实现
答案 1 :(得分:0)