我在应用程序中创建了一个名为ProfileContoller
的控制器。
在此控制器中,我需要创建一个ApplicationUserManager
实例,但是我不知道如何创建它的新实例。我试过下面的代码:
private ApplicationUserManager _userManager = Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
但是我得到了这个错误:
名称
Current
在当前上下文中不存在我的第一个问题是我该怎么做?我将访问以下代码行:
return View(await _userManager.FindByNameAsync(username));
我也使用
UnityContainer
。关于此的第二个问题是:是否还可以注册与接口ApplicationUserManager
或IUser
1关联的IUserStore
。更新:
后来我发现有这样的事情:
private UserManager<ApplicationUser> _userManager = UserManager<ApplicationUserManager>();
有点它给我这个错误:
不可发言的成员
UserManager<TUser>
不能像方法一样使用。有了这个额外的“用户管理器”,我看不到树木。因此,您可以再解释一次所有“用户管理器”的含义以及它们的用途吗?
笔记:
1我不知道这两者之间的区别,所以如果您愿意,您是否也可以将其平面化?
最佳答案
这对我有用:
using System.Web; //make sure you have this using
private ApplicationUserManager _userManager;
public ApplicationUserManager UserManager
{
get
{
if (_userManager == null && HttpContext == null)
{
return new ApplicationUserManager(new Microsoft.AspNet.Identity.EntityFramework.UserStore<ApplicationUser>(db));
}
return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}
关于c# - 如何在ASP.net中使用ApplicationUserManager?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35415529/