asp.net - ASP.NET Core 依赖注入错误:尝试激活“身份用户”时无法解析“身份用户”类型的服务
问题描述
错误消息是这样的:
路径 /account/register 引发异常 System.InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore.Identity.IUserStore 1[Microsoft.AspNetCore.Identity.IdentityUser]' while attempting to activate 'Microsoft.AspNetCore.Identity.UserManager
1[Microsoft.AspNetCore.Identity.
我不知道是什么原因造成的。非常感谢任何帮助,谢谢!
public class AccountController : Controller
{
private readonly UserManager<IdentityUser> userManager;
private readonly SignInManager<IdentityUser> signInManager;
public AccountController(UserManager<IdentityUser> userManager,
SignInManager<IdentityUser> signInManager)
{
this.userManager = userManager;
this.signInManager = signInManager;
}
[HttpGet]
public IActionResult Register()
{
return View();
}
[HttpPost]
public async Task<IActionResult> Register(RegisterViewModel model)
{
if(ModelState.IsValid)
{
var user = new IdentityUser { UserName = model.Email, Email = model.Email };
var result = await userManager.CreateAsync(user, model.Password);
if(result.Succeeded)
{
// Persistend creates either session or permanent cookie
await signInManager.SignInAsync(user, isPersistent: false);
return RedirectToAction("index", "home");
}
foreach (var error in result.Errors)
{
// Adding this to Modelstate goes to validation-summary in register.cshtml
ModelState.AddModelError("", error.Description);
}
}
return View(model);
}
}
解决方案
好的,所以在启动类中我改变了:
services.AddIdentity<IdentityUser, IdentityRole>();
至
services.AddIdentity<IdentityUser, IdentityRole>().AddEntityFrameworkStores<AppDbContext>();
推荐阅读
- r - R 中的子图与 Plotly
- java - ArrayOutOfBounds 在 netbeans 上编译 maven 插件
- ajax - 在 Django 中使用 AJAX 发布表单
- node.js - 文本搜索不会为某些单词返回任何内容
- c++ - 无法使用 opengl 正确旋转 2D 对象
- powershell - 从多行字符串中提取字符串
- java - Sparksql - 使用 Sparksql 在时间窗口内搜索事件
- python-3.x - 有没有更好的方法可以根据单个列的数据将行从一个数据帧替换为另一个?
- php - 避免将未定义的变量传递给 mysqli_stmt_bind_param?
- apache - 如何将带有查询字符串的动态页面 301 重定向到静态页面?