我有这个问题:
public static class myClass
{
list<something> myList = new list<something>();
public void PopulateList()
{
var myQuery = from a in db.something
where a.someproperty == somevar
select a;
myList = myQuery.Tolist();
}
}
如何才能使此查询异步?
答案 0 :(得分:3)
穷人的异步/等待
await Task.Factory.StartNew(() => PopulateList());
编辑
对于那些想要看到它的用途的人
答案 1 :(得分:-2)
实际上更有效的异步返回将是:
await Task.FromResult(PopulateList());
此代码返回已完成的Task,该Task针对需要将同步代码转换为异步的方法进行了优化。
您还需要将返回类型从void更改为Task。
资料来源:Async in ASP.NET来自aspConf 2012