Альтернатива GetUserManager в ядре asp.net - PullRequest
1 голос
/ 25 сентября 2019

Я конвертирую существующий проект Asp.net Mvc в .Net Core, теперь проблема заключается в следующем: метод get

public ApplicationUserManager UserManager
    {
        get
        {



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

        }
        private set
        {
            _userManager = value;
        }
    }

В Mvc мы можем получить OwinContext, используя

HttpContext.GetOwinContext (). GetUserManager ()

, но в случае .Net Core GetOwinContext отсутствует, когда я сравниваю определение HttpContext обоих классов enter image description here

enter image description here

HttpContextBase является типом в случае Mvc, но в случае Core есть HttpContext, который не имеет метода расширения в том же пространстве имен, что и HttpContextBase, поэтому этот метод расширения не был найденПожалуйста, дайте мне знать, как это сделать в Core?

enter image description here

1 Ответ

2 голосов
/ 25 сентября 2019

Альтернативы нет.ASP.NET Core использует внедрение зависимостей практически для всего.Если вам нужно UserManager<TUser>, вы вводите в конструктор того класса, с которым работаете (контроллер и т. Д.):

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

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

    ...
}
...