小编Nik*_*aKo的帖子

使用 ASP.NET MVC 异步控制器方法处理多个用户请求

我有长期工作的同步控制器方法,当它运行时,我无法得到其他用户请求的答案。

我使用 async/await 和 ConfigureAwait(False) 将所有内容设为异步,但我仍然需要等待。

简单的例子:

    public async Task<ActionResult> Index()
    {
        var result = await Task.Run(() => Wait()).ConfigureAwait(false); 

        return View(result);
    }

    private async Task<bool> Wait()
    {
        await Task.Delay(60000);

        return true;
    }
Run Code Online (Sandbox Code Playgroud)

现在,如果我向此方法“mycontroller/Index”发送请求,我希望可以获得另一个方法“anotherController/Index”的视图,但我应该等到异步方法完成。

这是正常行为吗?我应该使用 async 来释放 ui 线程并使其可用,直到长时间运行的方法完成吗?

c# asp.net asp.net-mvc async-await

2
推荐指数
1
解决办法
2118
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

async-await ×1

c# ×1