【发布时间】:2010-05-28 12:39:01
【问题描述】:
我开始使用依赖注入,但在将依赖注入基类时遇到了一些麻烦。
我有一个 BaseController 控制器,我的其他控制器继承自该控制器。在这个基本控制器内部,我进行了许多检查,例如确定用户是否具有查看当前页面的正确权限、检查某些会话变量是否存在等。
我在这个基本控制器中有一个依赖项,我想使用 Ninject 注入它,但是当我像其他依赖项一样设置它时,编译器告诉我:
错误 1 'MyProject.Controllers.BaseController' 不包含构造函数 接受 0 个参数
这是有道理的,但我只是不确定如何注入这种依赖关系。我应该完全使用这种使用基本控制器的模式,还是应该以更有效/正确的方式这样做?
【问题讨论】:
-
你能发布一些 BaseController 构造函数的代码吗?
-
不要解决这个问题,考虑以下规则: 1) 优先组合而不是继承。 2) 不要在构造函数中执行任何工作。遵循这两者将使您的 DI 生活更轻松。
标签: asp.net-mvc-2 dependency-injection ninject ninject-2