我想使用点网4.5中的Async和await功能返回一个 Action 。
我使用了以下代码。

public async Task<ActionResult> DisplayDashboard()
    {
        await Task.Run(() =>
        {
            if (true)
            {
                return RedirectToAction("Index", "Home");
            }
            else
            {
                return RedirectToAction("Error", "Home");
            }
        });
    }

它给出以下错误,
“无法将lambda表达式转换为委托(delegate)类型'System.Action',因为该块中的某些返回类型不能隐式转换为委托(delegate)返回类型”。

任何人都可以建议我如何使用Task执行RedirectToAction。

最佳答案

    public async Task<ActionResult> DisplayDashboard()
    {
        return await Task.Run<ActionResult>(() =>
        {
            if (true)
            {
                return RedirectToAction("Index", "Home");
            }
            else
            {
                return View("Index");
            }
        });
    }

10-07 15:45