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
를 호출