在asp.net核心GetUserManager的备用(Alternate of GetUserMa

2019-09-27 19:22发布

我把现有Asp.net MVC项目到.NET的核心,现在的问题是这样的GET方法

public ApplicationUserManager UserManager
    {
        get
        {



return _userManager ??
HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();

        }
        private set
        {
            _userManager = value;
        }
    }

在MVC中,我们可以使用OwinContext取

HttpContext.GetOwinContext()。GetUserManager()

但在对.NET核心GetOwinContext不存在的情况下,当我比较这两个类的HttpContext的定义

HttpContextBase是输入情况下的MVC但在核心的情况下,存在的HttpContext具有在相同的命名空间没有扩展方法HttpContextBase这就是为什么这种扩展方法没有被发现,请让我知道如何在核心做到这一点?

Answer 1:

没有备用。 ASP.NET核心使用依赖注入的几乎一切。 如果你需要UserManager<TUser>你注入任何类,你正在使用(控制器等)工作的构造函数:

public class MyController : Controller
{
    private readonly UserManager<ApplicationUser> _userManager;

    public MyController(UserManager<ApplicationUser> userManager)
    {
        _userManager = userManager;
    }

    ...
}


文章来源: Alternate of GetUserManager in asp.net core