加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 18:30:53 所属栏目:asp.Net 来源:网络整理
导读:我通过Nuget安装在我的项目 Ninject.MVC3上。 我读了this article,在我的控制器中注入依赖关系,所有你需要做的是安装Ninject,将我的依赖项添加到NinjectMVC3.cs中并准备就绪。 到目前为止这么好,但是如何检索对象的实例? public ActionResult MyAction(
我通过Nuget安装在我的项目 Ninject.MVC3上。

我读了this article,在我的控制器中注入依赖关系,所有你需要做的是安装Ninject,将我的依赖项添加到NinjectMVC3.cs中并准备就绪。

到目前为止这么好,但是如何检索对象的实例?

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

在控制器的构造器我没有问题!

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));
}

尽管如此这些经常与那些新的依赖注入(我自己包括)完成。问题是你为什么需要这样做?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读