UserManager继续抛出System.ArgumentNullException

我试图在AspNetUsersnvarcharint的标准Id 。 我已经设法让那一方工作了。 但是我的问题是当我尝试登录时,我不断从UserManager类中收到错误。

我的代码如下:

 public class UserManager : UserManager { public UserManager(IUserStore store) : base(store) { } 

在我登录的页面上

 if (IsValid) { // Validate the user password var manager = Context.GetOwinContext().GetUserManager(); var user = manager.Find(UserName.Text, Password.Text); //This line throws the error if (user != null) { IdentityHelper.SignIn(manager, user, isPersistent: false); Response.Redirect("~/Home.aspx"); } else { FailureText.Text = "Invalid username or password."; ErrorMessage.Visible = true; } } 

我一直得到的错误是System.ArgumentNullException:Value不能为null。 参数名称:manager 。 还有其他人遇到过这个问题吗? 在此先感谢您的帮助

堆栈跟踪

 [ArgumentNullException: Value cannot be null. Parameter name: manager] Microsoft.AspNet.Identity.UserManagerExtensions.Find(UserManager`2 manager, String userName, String password) +221 Account_Login.LogIn(Object sender, EventArgs e) in Login.aspx.cs:17 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9628026 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35 System.Web.UI.d__14.MoveNext() +5226 

确保UserManager已在您的OWIN上下文中注册。 你应该在你的Startup类中有这样的东西:

 app.CreatePerOwinContext(ApplicationUserManager.Create); 

还要确保将[assembly: OwinStartup(typeof(YourNamespace.Startup))]属性应用于Web程序集。

manager.Find()方法只搜索表的主键,你必须使用类似的东西:

 Context db = new Context(); if (db.Users.Select(u => u).Where(u => u.Username == Username && u.Pass == Password).ToList().Count() == 1) { // login }