Structuremap x Asp.net Identity
问题描述:
我有问题要注册一些这样的依赖关系。Structuremap x Asp.net Identity
No default Instance is registered and cannot be automatically determined for type 'IUserStore<ApplicationIdentityUser, Int32>'
There is no configuration specified for IUserStore<ApplicationIdentityUser, Int32>
1.) new UserManager`2(*Default of IUserStore<ApplicationIdentityUser, Int32>*)
2.) UserManager<ApplicationIdentityUser, Int32>
3.) Instance of UserManager<ApplicationIdentityUser, Int32>
4.) new ApplicationUserManager(*Default of UserManager<ApplicationIdentityUser, Int32>*, *Default of IAuthenticationManager*)
5.) MyClinic.Infra.Data.Identity.ApplicationUserManager
6.) Instance of MyClinic.Core.Identity.IApplicationUserManager (MyClinic.Infra.Data.Identity.ApplicationUserManager)
7.) new AccountController(*Default of IApplicationUserManager*)
8.) MyClinic.Web.Controllers.AccountController
9.) Instance of MyClinic.Web.Controllers.AccountController
10.) Container.GetInstance(MyClinic.Web.Controllers.AccountController)
有人可以帮我吗?
我的帐户控制器:
public class AccountController : Controller
{
private IApplicationUserManager _userManager;
public AccountController(IApplicationUserManager userManager)
{
_userManager = userManager;
}
}
我的应用程序用户管理:
public class ApplicationUserManager : IApplicationUserManager
{
private readonly UserManager<ApplicationIdentityUser, int> _userManager;
private readonly IAuthenticationManager _authenticationManager;
private bool _disposed;
public ApplicationUserManager(UserManager<ApplicationIdentityUser, int> userManager, IAuthenticationManager authenticationManager)
{
_userManager = userManager;
_authenticationManager = authenticationManager;
}
}
答
您需要添加以下到您的structuremap容器与Asp.net身份工作。
For<IUserStore<ApplicationUser>>().Use<UserStore<ApplicationUser>>();
For<DbContext>().Use(() => new ApplicationDbContext());
For<IAuthenticationManager>().Use(() => HttpContext.Current.GetOwinContext().Authentication);
此外,您将需要安装包
Microsoft.Owin.Host.SystemWeb
得到扩展方法GetOwinContext()出现在HttpContext.Current
+0
谢谢,它帮助。 – SHM 2015-08-17 09:41:00
有此问题的其他变化。 这可能会帮助你:http://stackoverflow.com/a/27244289/351204 – 2014-12-03 09:20:48