我正在尝试使用新的Asp.Net Identity
系统。我在asp.net网站上搜索了这个,并且能够找到一个教程here。
我已为其创建了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网站上也不是那么完美。
任何帮助都将不胜感激。
答案 0 :(得分:10)
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);
答案 1 :(得分:2)
您是否引用过&#34; Microsoft.AspNet.Identity.Core,Version = 2.0.0.0&#34;?
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;