无法在用户管理器中访问CreateAsync
我正在尝试使用新的Asp.Net Identity
系统。 我在asp.net网站上搜索了这个,并且能够在这里找到一个教程。
我已经为它创建了Register
操作和适当的视图。 但是,当我在Identity System中使用User Manager
,无法对其进行进一步编码。
确切地说,它就在这里。
var result = await UserManager.CreateAsync(user, register.Password);
UserManager
类抛出exception
Using the generic type 'Microsoft.AspNet.Identity.UserManager' requires 2 type arguments
我的问题是为什么教程的作者没有得到任何exception? 我错过了任何依赖吗?
似乎文档在asp.net网站上也不是那么完美。
任何帮助,将不胜感激。
var result = await UserManager.CreateAsync(user, register.Password);
上述语句中的UserManager
不是我所期望的Class
。 它是UserManager
类型的属性。
所以,刚开始时宣布一个属性为
public UserManager UserManager { get; private set; }
现在我可以使用Async
版本来创建用户。 以下声明有效。
var result = await UserManager.CreateAsync(user, register.Password);
你引用了“Microsoft.AspNet.Identity.Core,Version = 2.0.0.0”吗?
Microsoft ASP.NET Identity Core 2.0.0
更新1我刚刚回顾了一些我已经完成此操作的代码,看起来我最终使用的是非异步版本:
var result = userManager.Create(user, password);
虽然这不能回答您的具体问题,但可能有所帮助。
更新2检查您是否有以下使用声明:
using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; using Microsoft.Owin.Security;
所以,刚开始时宣布一个属性为
public UserManager UserManager { get{return _userManager;} private set{} }
和
private AppUserManager _userManager { get { return HttpContext.GetOwinContext().GetUserManager();} }