我经常会遇到错误:
尝试创建类型为' 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;
}