【发布时间】:2017-04-19 11:42:16
【问题描述】:
我想在 dot net 4.5 中使用 Async 和 await 功能返回一个操作。 我使用了以下代码。
public async Task<ActionResult> DisplayDashboard()
{
await Task.Run(() =>
{
if (true)
{
return RedirectToAction("Index", "Home");
}
else
{
return RedirectToAction("Error", "Home");
}
});
}
它给出以下错误, “无法将 lambda 表达式转换为委托类型 'System.Action',因为块中的某些返回类型不能隐式转换为委托返回类型”。
谁能建议我如何使用 Task 执行 RedirectToAction。
【问题讨论】:
-
你是什么意思返回视图和重定向到操作? (你不能两者都做)
-
请注意,在 ASP.NET 中使用
Task.Run会损害您的性能,因为您只会从一个线程池线程切换到另一个线程池线程并返回 - 2 个无用的线程切换。
标签: c# asp.net-mvc async-await