我想使用点网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");
}
});
}