我有一个简单的MVC3 Web应用程序。我使用structureMap作为依赖注入。
它与我的HomeController工作正常,但当我去第二个控制器我有错误: MissingMethodException:没有零参数构造函数。
我按照教程中发现的每一步......
THX。
以下是代码:
public class HomeController : AuthorizedController
{
IRepository<User> _repository;
public HomeController(IRepository<User> repository)
{
_repository = repository;
}
}
public class AccountController : AuthorizedController
{
private readonly IRepository<User> _repository;
public AccountController(IRepository<User> repository)
{
_repository = repository;
}
}
我使用这个简单的注射:
For<IRepository<User>>().Use<UserRepository>();
答案 0 :(得分:0)
你确定它与HomeController一起使用吗?如果您有第二个控制器的错误,那么HomeController应该出现错误?
确保您的基本控制器AuthorizedController具有无参数的公共构造函数
如果没有为类定义构造函数,则将创建无参数构造函数。但是,如果使用参数定义构造函数,则不会创建无参数构造函数。
ASP.net MVC控制器工厂 - System.Web.Mvc.DefaultControllerFactory.CreateController 需要无参数构造函数