我正在尝试实现IUserStore Identity 2和MVC 5
在我的UserStore实现中
public class IdentityUserStore : IIdentityUserLoginStore, IIdentityUserClaimStore, IIdentityUserRoleStore, IIdentityUserPasswordStore, IIdentityUserSecurityStampStore, IIdentityUserStore, IIdentityUserEmailStore, IDisposable
我没有在
中看到HttpContext.Current public async Task CreateAsync(Model.Identity.IdentityUser user)
{
// HttpContext.Current == null here
if (user as object == null)
throw new ArgumentNullException("user");
await Task.Run(() => {_userRepository.Add(user);});
await _uow.CommitAsync();
}
但
中不为空 public async Task<Model.Identity.IdentityUser> FindByNameAsync(string userName)
{
// HttpContext.Current != null it has all my data
if (userName as object == null)
throw new ArgumentNullException("userName");
return (await _userRepository.FindByAsync(x => x.Where(y => y.UserName == userName))).FirstOrDefault();
}
两个方法都属于实现
的同一个类 IMyIdentityUserStore : IUserStore<MyIdentityUser,Int64>
所以基本上当我在我的网站上注册新用户时,我输入电子邮件,密码并在点击注册按钮后,它会抛出&#34;对象引用未设置为对象的实例。&#34;当存储库试图访问存储在HttpContext.Current.Items中的DbContext时。
那里有什么问题,为什么它有不同的CreateAsync和FindByNameAsync上下文?