Использование кода MVC тождественного настольного приложения

Вопрос задан: 1 год назад Последняя активность: 1 год назад
up 11 down

Я пытаюсь использовать код MVC Удостоверения из настольного приложения. Настольное приложение должно сделать кучу дополнений и обновлений для моих пользовательских данных.

Я скопировал классы над из сгенерированного приложения MVC, установлены необходимые пакеты и сделаны все необходимые изменения для кода для компиляции.

Единственная проблема, которую я сейчас создаю экземпляр класса ApplicationUserManager класс.

public ApplicationUserManager UserManager
{
    get => _userManager ?? HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
    private set
    {
        _userManager = value;
    }
}
private ApplicationUserManager _userManager;

Проблема не у меня нет HttpContext, и так HttpContext.Current всегда будет возвращать нуль.

Это то, что я делаю это возможно? Как я могу построить UserManager от настольного приложения без контекста HTTP?

ОБНОВИТЬ:

У меня есть прямой доступ к базе данных, так что я был бы счастлив с решением, которое не требует идентификационного кода и классов. Самой большой проблемой здесь будет создание и обновление паролей, так что они могут быть «понятна» идентификационный код в моем веб-приложение.

2 ответа

Возможно, для Вашего проекта будут необходимы бесплатные векторные карты. На нашем сайте представлены карты для всех стран.

Реклама

up 7 down

интересный подход,

в противном случае, это будет необходимо очистить все, что HttpContext прикосновения ..

вы можете создать экземпляр ApplicationUserManager, как это.

public ApplicationUserManager UserManager
{
    get
    { 
        if(_userManager == null)
        {
            _userManager =  new ApplicationUserManager(new Microsoft.AspNet.Identity.EntityFramework.UserStore<ApplicationUser>(yourDbContext));
        }
        return _userManager;
    }
}
up 0 down

Вы можете сделать так:

var context = ApplicationDbContext.Create();
var userStore = new UserStore<ApplicationUser>(context);
var userManager = new UserManager<ApplicationUser>(userStore);
//change password
var result = userManager.ChangePasswordAsync("userId", "oldPwd", "newPwd");

Ошибка 505

Что-то пошло не так

Попробуйте воспользоваться поиском