await
MVC AsyncControllerのキーワードを理解しようとして、例を見ています。リストを非同期的に返そうとしているだけなので、次のように動作するはずです。async
これは、キーワードを理解するための単なる例です。
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>>
は待ちきれないことだと思います。私はそれが待っているという印象を受けましたTask
。
更新: このようなものはどうですか (EF コードが .Select メソッドに抽象化されていると仮定すると?
public async Task<ActionResult> Index()
{
var s = await SelectAsync();
return View(s);
}
private async Task<IEnumerable<Student>> SelectAsync()
{
return _repo.Select();
}
それとも、SelectAsync メソッド内でも Task.Run を使用する必要がありますか? 私はクライアント側でこの種のことを行うことに慣れているので、これらの方法でここで助けていただければ幸いです...