我将 Ninject.MVC3 包从 2.2.1.0 更新到 2.2.2.0。之前我可以通过 BootStrapper.Kernel 属性访问 Kernel 对象,但在新版本中 Kernel 属性被标记为过时。我收到警告说
“公共只读属性内核作为 Ninject.IKernel”已过时:“不要使用 Ninject 作为服务定位器”。
新版本中是否有不同的方式访问内核?
如果您有一个类(由于某种原因)需要从 Ninject 内核检索对象,则可以将内核包含为该类的注入属性/构造函数参数之一。这种模式更好,因为您明确声明特定类正在使用内核,而不是像服务定位器模式那样始终使其可用。
这假设 Ninject 自动将内核的实例绑定添加到自身。我知道它曾经这样做过,但如果没有,您可以手动添加绑定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)