Ninject MVC 3 - 将依赖项注入模型和控制器

时间:2011-10-10 14:01:03

标签: asp.net-mvc-3 dependency-injection ninject factory-pattern

当我们将依赖项注入控制器和模型时,我并不完全理解幕后发生的事情。

我有以下控制器:

    public class TypeController : CommonController
    {
        private ILookUpService lookUpService;

        public TypeController(ILookUpService lookUpService)
        {
            this.lookUpService = lookUpService;    
        }   

    }

随着应用程序的启动,查找服务已经可用。所以我想在幕后的某个地方,我们的代码就是

TypeController controller = new TypeController(service);

或与工厂有关(我需要阅读)。

当涉及将服务注入到视图模型中时,它不起作用,因为我需要在不将接口传递给我的服务的情况下调用空构造函数。

那么幕后发生了什么?如何将服务注入视图模型?我想我错过了一些真正的根本性东西,这些东西阻止我做我需要的东西。

我已将FactoryPattern包含在标签中,因为我的直觉告诉我它与我的问题有关。

谢谢

1 个答案:

答案 0 :(得分:7)

您不应该在视图模型中注入任何内容。视图模型应该是一个简单的数据容器,它从控制器填充,因此不应该有任何依赖。