ASP.NET MVC异步等待死锁需要ConfigureAwait(false)?

时间:2015-07-17 13:49:40

标签: c# asp.net asp.net-mvc asynchronous asp.net-mvc-5

这会导致死锁吗?我已经阅读了如果调用类使用“.Result”需要添加.ConfigureAwait(false)的地方,但是这适用于控制器......任何帮助都表示赞赏。我有一堆这种类型的“东西”正在发生,死锁似乎正在发生。服务器实际上在w3wp转储中显示4个线程,并且许多请求“等待”,这导致冻结,无法建立连接,然后取消并恢复。冲洗并重复。我无法弄明白。

这是一个MVC控制器:

public class DashboardController
{
    private readonly IVendorResource _vendorResource;

    public DashboardController(IVendorResource vendorResource)
    {
        _vendorResource = vendorResource;           
    }

    // GET: Dashboard
    public async Task<ActionResult> Index()
    {
        var vendor = await _vendorResource.Get(1);

        vendor.ToDashboardViewModel();
        vendor.Emails = await _vendorResource.GetVendorEmails(1);

        var model = vendor.ToDashboardViewModel();
        model.PageTitle = "Dashboard";

        var vendorMetrics = await _vendorResource.GetVendorMetrics(1);
        model.VendorMetrics = vendorMetrics.ToVewModel();

        return View("~/Views/Dashboard/Index.cshtml", model);
    }
}

0 个答案:

没有答案