我在我的应用程序中使用Ninject进行依赖注入。以下是我的一个控制器的示例:
public class DepartmentsController : Controller
{
private IDepartmentsRepository departmentsRepository;
public DepartmentsController(IDepartmentsRepository departmentsRepository)
{
this.departmentsRepository = departmentsRepository;
}
...
}
我也试图跟随this tutorial在MVC应用程序中使用ELMAH。我们的想法是使用自定义控制器工厂来处理来自每个控制器的错误。然后,将控制器工厂设置为global.asax.cs文件中的自定义工厂。
唯一的问题是它期望每个控制器中都有一个无参数构造函数,我不能(我知道)使用Ninject依赖注入。
我怎样才能解决这个问题?
答案 0 :(得分:3)
如果您使用的是MVC3,则应忽略有关Controller Factory的部分,并使用全局过滤器将自定义属性应用于每个控制器。
如果您尚未使用v3,则可以修改其代码以从Ninject Controller工厂继承。