2014-10-14 3 views
9

ASP.NET ID 2에서 모든 사용자를 비동기로 만들 수있는 방법이 있는지 누군가가 알 수 있습니까?ASP.NET ID 2 UserManager 모든 사용자를 비동기로 설정

UserManager.Users 거기에 아무것도 비동기 또는 모든 비동기 또는 직접 UserManager 클래스와 비동기 적으로이 작업을 수행 할 수있는 방법이 없다는 것을

답변

15

같은 somwething을 찾을 수 있습니다.

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(); 
    } 
} 
+4

완벽! 너 내 눈을 뜨게! 'ToListAsync()'확장 메소드를 얻기 위해'System.Data.Entity'에 대한 참조를 놓치고있었습니다. 좋아요, 완벽하게 작동합니다 ... –