2013-06-17 1 views
1

MVC AsyncController에서 await 키워드를 이해하기 위해 예제를 살펴 보았습니다. 목록을 비동기 적으로 반환하려고 할 때 다음과 같이 작동해야합니다.MVC4 작업 <IEnumerable> 기다릴 수 없음

public async Task<ActionResult> Index() 
    { 
     var s = await SelectAsync(); 
     return View(s); 
    } 

    private async Task<IEnumerable<Student>> SelectAsync() 
    { 
     var ctx = new Test.MVC4.Repository.StudentDataContext; 
     return await ctx.Students.ToList(); 
    } 

내가 Task<IEnumerable<Student>>이 awaitable 아니라고 얻을 :이 async 키워드를 이해하기위한 단지 예였다. 나는 Task이 기다리고 있다는 인상을 받았다. ?를 ALL 기타 사항 서보 -OFF 방법으로 추출 된이 같은합니다 (EF 코드를 가정에 대한 어떤

public async Task<ActionResult> Index() 
    { 
     var s = await SelectAsync(); 
     return View(s); 
    } 

    private async Task<IEnumerable<Student>> SelectAsync() 
    { 
     return _repo.Select(); 
    } 

또는 나는 또한뿐만 아니라 SelectAsync 방법 내부 Task.Run를 사용해야합니까 나는 :

업데이트? '당신은.이 방법 (ToList())는 Task을 반환하지 않습니다 ctx.Students.ToList()await를 호출

답변

7

... 클라이언트 측에서 이런 종류의 일을하는 데 사용 그래서 나는 이러한 방법으로 여기에 도움을 주셔서 감사 해요 및 그이 아니다 기다릴 수 있습니다.

관련 문제