MVC4“无法等待”

时间:2012-04-28 04:48:30

标签: 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;
    }

1 个答案:

答案 0 :(得分:7)

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

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

NewsNavigator News = new NewsNavigator();
var newsLoadTask = Task.Factory.StartNew(() => News.Load(page));
await newsLoadTask;
...