【问题标题】:Retrive a list of opened Work Items for a given project in TFS 2010 programmatically以编程方式检索 TFS 2010 中给定项目的打开工作项列表
【发布时间】:2020-07-13 04:09:25
【问题描述】:

我正在尝试以编程方式检索给定项目的已打开工作项列表。在通过网络搜索时,我能看到的唯一方法是使用 WorkItemStore API 并执行查询。

我遇到的主要问题是检索 workitemstore 需要将近 2 分钟。我随后缓存了它,但第一次命中是不可接受的。除此之外,我的应用程序需要每 x 分钟刷新一次,以防添加新的工作项。

有什么方法可以在不使用WorkItemStore 的情况下获取与项目关联的已打开工作项的列表。我只需要工作项编号和可选的标题。我不需要任何其他信息。

如果没有,是不是我做错了什么或者 TFS 服务器出了什么问题(可能缺少索引)导致性能如此缓慢。顺便说一句,我尝试了不同的方法来获得它。它们都非常慢。

WorkItemStore store = (WorkItemStore)tfs.GetService(typeof(WorkItemStore));

workItemStore = new WorkItemStore(tfsTeamProjectCollection);

workItemStore = new WorkItemStore(tfsServerName);

在这件事上的任何帮助将不胜感激。

【问题讨论】:

  • TFS 服务器是否在远程建筑物中?我从来没有让 WorkItemStore 花费超过一两秒。

标签: tfs


【解决方案1】:

即使数据库非常大,您也不应该遇到两分钟的延迟。

我会加载 SQL Profiler 并查看生成的查询以获取工作项。从那里,您可能可以确定查询的哪一部分导致了延迟。

您还可以考虑在 TFS DB 所在的同一框上运行查询,看看是否是问题所在。正如上面的评论所指出的,远程连接肯定会导致延迟。

如果这些都不能解决问题,那么希望您可以提供更多信息,例如项目大小(没关系)、TFS 安装配置(您的服务器在哪里以及它们是如何设置的)以及它所在的硬件.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 2013-06-01
    • 2011-11-29
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多