代码:
testItemList = testResults.Select(item => project.Store.GetWorkItem(item.TargetId)).ToList();
testItemList 是(局部变量)List testItemList
testResults 是(局部变量)WorkItemLinkInfo[] testResults
总共有 610 个工作项。如何减少执行时间?截至目前,执行这行代码需要 20 秒。 如何微调上述代码,以减少执行时间?
最佳答案
Query query = new Query(project.Store, "Select [Title] From WorkItems", testResults.Select(item => item.TargetId).ToArray());
var car = query.BeginQuery();
//Do something else while awaiting server response...
testItemList = query.EndQuery(car);
您的代码对服务器进行了 610 次往返,并下载了每个工作项的每个字段。此代码执行单次往返,并且仅下载标题字段。
请注意,您仍然可以访问 testitemlist 中每个工作项的每个字段,但每次访问未包含在原始查询字符串中的字段都需要另一次往返。
关于c# - 如何减少执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21777543/