ApplicationUserManager

ApplicationUserManager

我在应用程序中创建了一个名为ProfileContoller的控制器。
在此控制器中,我需要创建一个ApplicationUserManager实例,但是我不知道如何创建它的新实例。我试过下面的代码:

private ApplicationUserManager _userManager = Current.GetOwinContext().GetUserManager<ApplicationUserManager>();


但是我得到了这个错误:


  名称Current在当前上下文中不存在


我的第一个问题是我该怎么做?我将访问以下代码行:

return View(await _userManager.FindByNameAsync(username));


我也使用UnityContainer。关于此的第二个问题是:是否还可以注册与接口ApplicationUserManagerIUser 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/

10-10 16:46