繁体   English   中英

ASP.NET Identity 2 UserManager 异步获取所有用户

[英]ASP.NET Identity 2 UserManager get all users async

有人可以告诉是否有办法让所有用户在 ASP.NET Identity 2 中异步?

UserManager.Users中没有任何异步或找到所有异步或类似的东西

无法直接与UserManager类异步执行此操作。 您可以将它包装在您自己的异步方法中:(这可能有点邪恶)

public async Task<IQueryable<User>> GetUsersAsync
{
    return await Task.Run(() =>
    {
        return userManager.Users(); 
    }
}

或者使用ToListAsync扩展方法:

public async Task<List<User>> GetUsersAsync()
{
    using (var context = new YourContext())
    {
        return await UserManager.Users.ToListAsync();
    }
}

或者直接使用您的上下文:

public async Task<List<User>> GetUsersAsync()
{
    using (var context = new YourContext())
    {
        return await context.Users.ToListAsync();
    }
}

扩展DavidG对.NET Core 2.1 回答,您需要使用IdentityUser而不是User ,并且您必须直接使用您的上下文。

public async Task<List<IdentityUser>> GetUsersAsync()
{
    using (var context = new ApplicationDbContext())
    {
        return await context.Users.ToListAsync();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM