MVC4"无法等待"

Rou*_*ouR 4 asp.net-mvc asynchronous asp.net-mvc-4

以下代码片段导致编译错误,我很难理解.

错误1无法等待System.Collections.Generic.List'<BusinessLogic.News>'

有什么建议?

public class NewsController : Controller
{
    public async Task<ActionResult> Index(int page=1)
    {
        NewsNavigator News = new NewsNavigator();
        await News.Load(page);
        ...

        return View(News);
    }
}



    public List<News> Load(int page = DefaultPage, int pageSize = DefaultPageSize, string filter = DefaultFilter)
    {
        //DBLayer_News
        ...
        return LoadedNews;
    }
Run Code Online (Sandbox Code Playgroud)

c0d*_*nja 7

Await应用于返回Task的方法调用的结果.

你不能在新闻上调用它,因为新闻不是任务.创建一个任务并将News.Load方法传递给它.

NewsNavigator News = new NewsNavigator();
var newsLoadTask = Task.Factory.StartNew(() => News.Load(page));
await newsLoadTask;
...
Run Code Online (Sandbox Code Playgroud)

  • 你总是可以使用`await Task.Run(()=> News.Load(page));`另外,请确保任何使用者包含返回类型的dll.当未包含dll时,Visual Studio 2012提供了无用的错误消息"无法等待<数据类型名称>". (3认同)