我一直关注This MSDN tutorial关于实现OWIN来管理DbContext和Identity UserManager类的单个实例。
看起来不错,但我也在学习依赖注入(我一直在使用Ninject)来获取对象的实例。
我知道OWIN会为每个请求创建和检索一个对象的单个实例,DI会在每次需要对象时返回一个新实例。
两者协同工作还是分享共同功能?
我应该一起选择其中一个还是两个?
例如,我是否应该设置一个接口,该接口具有从OWIN上下文返回我的对象实例然后将其注入我的控制器的方法?
答案 0 :(得分:3)
CreatePerOwinContext/Context.Get
方法不是常规IoC容器的一般替代品,并且不包含与依赖关系管理相关的[预期]功能 - 通常,不提供方法用于注入依赖项。如果有的话,它更类似于HttpContext的基本Service Locator或[ab]使用。
因此,虽然它可用于建立 IoC容器,但它不替换DI或IoC容器。