Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按id获取用户时,ASPNET Identity user返回旧记录_C#_Asp.net Mvc_Asp.net Identity - Fatal编程技术网

C# 按id获取用户时,ASPNET Identity user返回旧记录

C# 按id获取用户时,ASPNET Identity user返回旧记录,c#,asp.net-mvc,asp.net-identity,C#,Asp.net Mvc,Asp.net Identity,我在使用identity user时遇到问题。调用更新(用户)后,数据库中的记录已更改。当我再次调用Method(stringuserid)containFindById(userId)时,就会出现问题。FindById(userId)返回一个用户,其中所有记录仍然作为第一条记录保留,尽管我之前已经对其进行了更新 我实现了用户表: public class ApplicationUser : IdentityUser { public int MyProperty { set; get; }

我在使用identity user时遇到问题。调用
更新(用户)
后,数据库中的记录已更改。当我再次调用
Method(stringuserid)
contain
FindById(userId)
时,就会出现问题。
FindById(userId)
返回一个用户,其中所有记录仍然作为第一条记录保留,尽管我之前已经对其进行了更新

我实现了用户表:

public class ApplicationUser : IdentityUser
{
  public int MyProperty { set; get; } 
}
用户管理器类:

public class ApplicationUserManager : UserManager<ApplicationUser>, IApplicationUserManager
{
  public Task MethodAsync(string userId)
  {
    // Find user 
    // return object before change (MyProperty not equal 1)
    ApplicationUser user = await base.FindByIdAsync(userId);
    user.MyProperty = 1; 
    await base.UpdateAsync()
  }
}
公共类ApplicationUserManager:UserManager、IAApplicationUserManager
{
公共任务方法异步(字符串用户ID)
{
//查找用户
//更改前返回对象(MyProperty不等于1)
ApplicationUser user=wait base.FindByIdAsync(userId);
user.MyProperty=1;
wait base.UpdateAsync()
}
}

是否只有在更新当前登录用户的属性时才会发生这种情况?如果是,请尝试重新登录:

SignInManager.SignIn(user, false, false)
用户对象可以通过
UserManager.FindById
方法获得