如何减少执行时间



代码:

testItemList = testResults.Select(item => project.Store.GetWorkItem(item.TargetId)).ToList();

testItemList is (局部变量) List testItemList

testResults is (局部变量) 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 中每个工作项的每个字段,但每次访问原始查询字符串中未包含的字段都需要再次往返。

http://msdn.microsoft.com/en-us/library/bb130306.aspx

我会猜测:Store 是 WorkItemStore?
什么是测试结果?

您的 linq 语句将导致 for 循环。为每个 ID 进行新查询。您可以使用批处理查询来加快结果速度。
也许WorkItemStore.Query(id[], wiql)可以加快速度。提供 ID 列表。
然后你会得到一个WorkItemCollection。"wiql"是用于指定所需字段的查询语言。
对不起,简短的回答。我手头没有 TFS 来尝试并发布经过测试的代码片段。

相关内容

  • 没有找到相关文章

最新更新