无法创建控制器MVC / C#

时间:2016-08-17 09:19:17

标签: asp.net-mvc dependency-injection controller ninject

我经常会遇到错误:

  

尝试创建类型为' MyProject.Controllers。 ControllerName '的控制器时发生错误。确保控制器具有无参数的公共构造函数。

我知道有些人遇到了类似的问题,但是我的问题似乎是随机发生的。例如,在尝试创建MyProject.Controllers.EmailController时可能会出现这种情况,而我可能每60秒通过一次javascript调用来查看页面,以检查错误每60秒发生一次的任何电子邮件通知。

令人费解的是,这种情况发生在许多控制器上,而且每天都不会发生 - 当错误确实发生时,它们似乎同时发生。例如,今天早上6点我们有15个错误。

对于此示例 - 电子邮件控制器模型包含:

private readonly IAggregator _aggregator;

public EmailController(IAggregator aggregator)
{
    _aggregator = aggregator;
}

在global.asax.cs中我们有一个依赖注入方法,如下所示:

public class MvcApplication : NinjectHttpApplication 
{
    protected override IKernel CreateKernel()
    {
        var kernel = new StandardKernel();
        kernel.Load(Assembly.GetExecutingAssembly());
        kernel.Bind<IAggregator>().To<Aggregator>();
        return kernel;
    }

0 个答案:

没有答案