gpt4 book ai didi

asp.net-mvc-3 - Ninject.MVC3 Bootstrapper 的 Kernel 属性被标记为过时。如何访问内核?

转载 作者:行者123 更新时间:2023-12-04 03:34:18 26 4
gpt4 key购买 nike

我将 Ninject.MVC3 包从 2.2.1.0 更新到 2.2.2.0。在我通过 BootStrapper.Kernel 属性访问内核对象之前,但在新版本中,内核属性被标记为过时。我收到警告说

“Public ReadOnly Property Kernel As Ninject.IKernel”已过时:“请勿将 Ninject 用作​​服务定位器”。

在新版本中是否有不同的方式访问内核?

最佳答案

如果您有一个类(出于某种原因)需要从 Ninject 内核中检索对象,则可以将内核作为注入(inject)的属性/构造函数参数之一包含在该类中。从某种意义上说,这种模式更好,因为您明确声明特定类正在使用内核,而不是像服务定位器模式那样总是让它可用。

这假设 Ninject 自动将内核的实例绑定(bind)添加到自身。我知道它曾经这样做过,但如果没有,您可以手动添加绑定(bind)。

关于asp.net-mvc-3 - Ninject.MVC3 Bootstrapper 的 Kernel 属性被标记为过时。如何访问内核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6047603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com