2011-01-29 5 views
1

私はアプリケーションに依存性注入のためにNinjectを使用しています。ここに私のコントローラのうちの一つの例です:Ninjectでパラメータレスコントローラコンストラクタを使用していますか?

public class DepartmentsController : Controller 
{ 
    private IDepartmentsRepository departmentsRepository; 

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

    ... 
} 

私もMVCアプリケーションでELMAHを使用するthis tutorialに従うことをしようとしています。アイデアは、カスタムコントローラファクトリを使用してすべてのコントローラからのエラーを処理することです。次に、コントローラファクトリをglobal.asax.csファイルのカスタムファクトリに設定します。

唯一の問題は、Ninjectを使って依存性注入を行うことができない(私が知っている)各コントローラにパラメータのないコンストラクタが必要であることです。

どうすればこの問題を回避できますか?

答えて

3

MVC3を使用している場合は、コントローラファクトリについての部分を無視し、グローバルフィルタを使用して各コントローラにカスタム属性を適用する必要があります。

まだv3を使用していない場合、Ninject Controllerファクトリから継承するようにコードを変更することができます。

関連する問題