我有一个Web应用程序和一个Windows服务应用程序。将DBContext范围设置为IService
Web应用程序将IPersonService
注入到其MVC控制器中。
Windows应用程序还使用IPersonService
。
例如,该服务在IPersonRepo, IAddressRepo, IEmploymentRepo
上需要3个依赖关系。
对于实体框架使用,存储库的实现需要DBContext
。
在一个web应用程序,我可以在作为的DbContext Bind<MyContext>().ToSelf().InRequestScope();
在窗口服务的棘手注册。我可以离开它,所以DBContext是暂时的,但这似乎是错误的。
所以我想我可以让服务成为确定DBContext的生命周期的范围,但我完全不确定我会如何去确保它能够很好地运行于Web应用程序和Windows服务应用程序。
任何帮助,将不胜感激
在瞬态范围内绑定DbContext有什么问题?通过这种方式,DbContext的生命周期就像它被注入的父类一样长。 – 2013-04-05 08:41:23
我认为如果你有1个请求和1个服务,那么在一个web应用程序中,为3次回购创建上下文一次。你不想为这些服务提供相同的服务吗? – Jon 2013-04-05 08:44:14
将更新http://stackoverflow.com/questions/15599325/looking-for-a-ninject-scope-that-behaves-like-inrequestscope/15604758#15604758 RSN您可以创建一个插件,将自己注册为服务,但我需要在回答中显示代码 – 2013-04-05 14:10:50