gpt4 book ai didi

asp.net-mvc-3 - 使用 Ninject 获取对象的实例

转载 作者:行者123 更新时间:2023-12-03 11:51:47 25 4
gpt4 key购买 nike

我在我的项目上安装了Ninject.MVC3通过 Nuget。

我读了this article要在我的 Controller 中注入(inject)依赖项,您所要做的就是安装 Ninject,在 NinjectMVC3.cs 中添加我的依赖项并准备好。

到目前为止一切顺利,但是如何检索对象的实例?

public ActionResult MyAction()
{
var myObject = /* HERE ??*/
}

在 Controller 的构造函数中 我没有问题!
public class AccountController : Controller
{
public AccountController(IRepository repository) { ... } //This works!!
}

最佳答案

它起作用的原因是因为 ControllerFactory 会查找 DI 并自动添加它。如果你想获得一个特定的实例,你可以这样做:

private static void RegisterServices(IKernel kernel) {
kernel.Bind<ICoolObject>().To(CoolObject);
}

public ActionResult MyAction() {
var myObject =
System.Web.Mvc.DependencyResolver.Current.GetService(typeof (ICoolObject));
}

不过要小心。依赖注入(inject)的新手(包括我自己)经常这样做。问题是为什么你需要这样做?

关于asp.net-mvc-3 - 使用 Ninject 获取对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7718057/

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