使用StructureMap进行依赖注入…我做错了什么?
本文关键字:错了 什么 注入 StructureMap 依赖 使用 | 更新日期: 2023-09-27 18:12:25
我有一个简单的mvc 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>();
你确定它与HomeController一起工作吗?如果第二个控制器出现错误那么home控制器也应该出现错误?
确保你的基本控制器AuthorizedController有一个无参数的公共构造函数
如果不为类定义构造函数,则将创建一个无参数构造函数。但是,如果定义了带参数的构造函数,则不会创建无参数构造函数。
ASP.net MVC控制器工厂 System.Web.Mvc.DefaultControllerFactory。CreateController需要一个无参数的构造函数