簡體   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