2011-01-29 169 views
1

我在我的應用程序中使用Ninject進行依賴注入。這裏是我的控制器的一個示例:在Ninject中使用無參數控制器構造函數?

public class DepartmentsController : Controller 
{ 
    private IDepartmentsRepository departmentsRepository; 

    public DepartmentsController(IDepartmentsRepository departmentsRepository) 
    { 
     this.departmentsRepository = departmentsRepository; 
    } 

    ... 
} 

我也想跟着this tutorial在MVC應用程序中使用ELMAH。這個想法是使用自定義控制器工廠來處理來自每個控制器的錯誤。然後將控制器工廠設置爲global.asax.cs文件中的自定義工廠。

唯一的問題是,它期望每個控制器中的無參數構造函數,我不能這樣做(我知道的)與Ninject的依賴注入。

我怎樣才能解決這個問題?

回答

3

如果您使用的是MVC3,則應該忽略有關Controller Factory的部分,並使用全局過濾器將自定義屬性應用於每個控制器。

如果您尚未使用v3,並且您可以修改其代碼以從Ninject控制器工廠繼承。

相關問題