考虑:
public class HomeController : Controller { private IDependency dependency; public HomeController(IDependency dependency) { this.dependency = dependency; } }
而ASP.NET MVC中的控制器必须有一个空的默认构造函数,除了在DI中定义一个空(并且在我看来是无用的)构造函数之外,有什么办法吗?
解决方法
如果要使用无参数的构造函数,则必须定义一个自定义控制器工厂. Phil Haack有一个很好的
blog post关于这个问题.
如果您不想滚动自己的控制器工厂,您可以在code001 / github的ASP.NET MVC Contrib项目中预先制作.