Я создаю ASP. NET MVC Приложение идентификации и приложение WPF в одном проекте, которые также подключены к той же базе данных. Когда я регистрирую пользователя непосредственно в моем ASP. NET MVC приложении Identity, используя представление регистра - которое вызывает следующую функцию
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}
, пользователь успешно регистрируется. Однако я хочу иметь возможность зарегистрировать пользователя через мое приложение WPF, используя следующий код:
public void RegisterUserOnWebsite(string email, string generatedPassword)
{
var registerVM = new RegisterViewModel()
{
Email = email,
Password = generatedPassword,
ConfirmPassword = generatedPassword
};
var accountController = new AccountController();
var await = accountController.Register(registerVM);
}
, но по какой-то причине
var result = await UserManager.CreateAsync(user, model.Password);
не удается завершить, и функция регистрации прервана без каких-либо ошибок. Мой WPF тоже не взломал sh. Функция Register просто прерывается и пропускается. UserManager кажется нулевым. Как вручную создать экземпляр UserManger без использования страницы регистрации?