我正在尝试使用新的Asp.Net Identity
系统。我在asp.net网站上搜索了这个,并在这里找到了一个教程。
我已经创建了Register
动作和适当的视图。但无法进一步编码,因为我在身份系统中使用User Manager
。
确切地说,它在这里。
var result = await UserManager.CreateAsync(user, register.Password);
UserManager
类抛出异常
Using the generic type 'Microsoft.AspNet.Identity.UserManager<TUser,TKey>' requires 2 type arguments
我的问题是为什么教程的作者没有得到任何类型的异常?我是否遗漏了任何依赖项?
似乎asp.net站点的文档也不是那么完美。
var result = await UserManager.CreateAsync(user, register.Password);
上述语句中的UserManager
不是我所期望的Class
。这是一个类型为UserManager<ApplicationUser>
的属性
一开始就声明了一个属性为
public UserManager<ApplicationUser> UserManager { get; private set; }
现在我可以使用Async
版本来创建用户。下面的语句可以工作。
var result = await UserManager.CreateAsync(user, register.Password);
你"Microsoft.AspNet.Identity引用。核心,Version = 2.0.0.0之间"?
微软的ASP。. NET Identity Core 2.0.0
更新1 我刚刚回顾了一些我这样做的代码,看起来我最终使用了非异步版本:
var result = userManager.Create(user, password);
虽然这不能回答你的具体问题,但它可能有所帮助。
更新2 检查您是否有以下using语句:
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.Owin.Security;
一开始就声明了一个属性
public UserManager<ApplicationUser> UserManager { get{return _userManager;} private set{} }
和
private AppUserManager _userManager
{
get { return HttpContext.GetOwinContext().GetUserManager<AppUserManager>();}
}