在asp.net mvc web api2上工作。我的项目存储库容器是Unity。当我在url上调用控制器操作时显示错误" 尝试创建类型为' UserInfoController'的控制器时发生错误。确保控制器具有无参数的公共构造函数。"
在我的控制器中,如果我将参数减去构造函数,那么如何通过我的repo容器统一来进行DI。
控制器:
public class UserInfoController : ApiController
{
private readonly IUnitOfWorkAsync _unitOfWorkAsync;
private readonly IUserInfoService _userInfoService;
public UserInfoController(IUnitOfWorkAsync unitOfWorkAsync, IUserInfoService userInfoService)
{
this._unitOfWorkAsync = unitOfWorkAsync;
this._userInfoService = userInfoService;
}
[Route("api/Userinfos")]
public HttpResponseMessage Get()
{
Mapper.CreateMap<UserInfo, UserInfoEntity>();
var userInfos = _userInfoService.GetsUserInfos();
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, Mapper.Map<IEnumerable<UserInfo>, IEnumerable<UserInfoEntity>>(userInfos));
return response;
}
[Route("api/IsValidUser/{userName}")]
public HttpResponseMessage Get(string userName)
{
var userInfos = _userInfoService.UserValidatyCheckByUserName(userName);
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, userInfos);
return response;
}
}
在浏览器上写http://localhost:23023/api/Userinfos告诉我错误控制器必须有无参数构造函数。
怎么做?如何在web api中使用存储库。