如何使用web api2存储库

时间:2016-01-17 10:58:35

标签: .net asp.net-mvc repository unity-container

在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中使用存储库。

0 个答案:

没有答案