我们正在开发一个包含Entity Framework和Identity 2.0的Full Stack授权WebApi。
它基于这里的git repo
WebApi Full Stack Entity Framework Repository
在我们的服务层,我们从上下文传递自定义接口,即
private readonly Func<IGPFocusDataContext> _contextFactory;
public PatientService(Func<IGPFocusDataContext> contextFactory)
{
this._contextFactory = contextFactory;
}
我已经创建了一个类似的UserService,此时我想以类似的方式注入UserManager和RoleManager接口。
有人可以推荐这样做的最好方法吗?
答案 0 :(得分:1)
查看repo,您可以将UserManger和RoleManager的实例/实现添加到UnityConfig.cs中的Unity容器中,例如:
container.RegisterType<UserManager, UserManager>();
或者
container.RegisterType<IUserManager, UserManager>();
然后在您的UserService
中private readonly IUserManger _userManger;
private readonly IRoleManger _roleManger;
public UserService(IUserManger userManger, IRoleManager roleManger)
{
this._userManager = userManger;
this._roleManger = roleManger;
}
当您在控制器中添加类似于PatientController中的PatientService的服务时,虽然我不是Unity的家庭,但我希望Unity将它们联系在一起。