Все, что я установил, имеет самый последний идентификатор ASP.NET, следующий за http://blogs.msdn.com/b/webdev/archive/2014/03/20/test-announcing-rtm-of-asp-net-identity-2-0-0.aspx. После установки NuGet у меня есть intellisense доступ к методам DeleteUser
/DeleteUserAsync
, и код компилируется в порядке. Однако во время выполнения, когда я вызываю этот метод, я получаюUserManager.DeleteUser Указанный метод не поддерживается
Указанный метод не поддерживается.
Трассировка стека: [NotSupportedException:. Указанный метод не поддерживается] Microsoft.AspNet.Identity.EntityFramework.UserStore`1.DeleteAsync (пользователь TUser) +59
Причина ясна, но как я могу скомпилировать это и теперь выполнить? Что мне нужно сделать, чтобы удалить пользователя с помощью UserManager
?
текущий код, я использую, чтобы сделать это
[AllowAnonymous]
public async Task<ActionResult> RemoveUser(string userName)
{
ApplicationUser user = null;
if (ModelState.IsValid)
{
user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
if (user.IsAdmin != null && (bool)user.IsAdmin)
{
var userToRem = await UserManager.FindByNameAsync(userName);
IdentityResult result = await UserManager.DeleteAsync(userToRem); <- EXCEPTION
// If successful
if (!result.Succeeded)
return new HttpStatusCodeResult(HttpStatusCode.ServiceUnavailable);
}
}
return RedirectToAction("Index", "Tools");
}
Я не заинтересован ни в чем фантазии, все, что я хочу сделать, это удалить пользователя и по какой-то причине он дает мне королевский бал боль , Любой другой метод будет оценен по достоинству.
Спасибо за ваше время.
Операции «Вставить», «Обновить» и «Удалить» в контексте должны быть синхронными. 'SaveChangesAsync' должен обрабатывать асинхронную фиксацию в базе данных. –