1

awaitMVC 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 を使用する必要がありますか? 私はクライアント側でこの種のことを行うことに慣れているので、これらの方法でここで助けていただければ幸いです...

4

1 に答える 1