使用 Team Foundation 的客户端对象模型扩展工作项跟踪

使用用于跟踪工作项的对象模型,你可以采用编程方式创建、更改和查找 bug、任务和其他类型的工作项。 若要访问工作项,你必须先连接到 Visual Studio Team Foundation Server,如从控制台应用程序连接到 Team Foundation Server中所述。

备注

若要自定义工作项类型,请参阅要自定义的公共区域 [重定向]

常规任务

使用 Team Foundation 的客户端对象模型创建工作项

使用 Team Foundation 的客户端对象模型编辑和保存工作项

查询 Bug、任务和其他工作项

WorkItemStore.GetWorkItem

(CodePlex) 用于 TFS 工作项跟踪的自定义控件

使用 Team Foundation 的客户端对象模型为不同类型的工作项编写代码

线程处理注意事项

如果你的应用程序为多线程,它应该为每个线程创建 WorkItemStore。 如果线程共享 WorkItemStore,则该应用程序将无法正常扩展。 只要 WorkItemStore 和相关对象正在处理,就将阻止共享 WorkItemStore 的所有其他线程。

初始化 WorkItemStore 的成本很高。 因此,你应该初始化该对象并在该线程的生存期内保留对它的引用。 例如,如果你在 ASP.NET 应用程序中使用用于跟踪工作项的对象模型,你应该在用户会话中缓存 WorkItemStore 对象或创建一个线程池并为每个线程使用单个 WorkItemStore 对象。

元数据

该工作项数据库包含一组元数据,它描述工作项类型、字段、规则、窗体以及有关如何在每个团队项目中配置并使用工作项类型的其他信息。 WorkItemStore 获取并使用该元数据的本地缓存。 每当这些元素中的任意一个更新时,将更改元数据。 例如,如果某个值添加到字段的允许值列表中,将创建元数据的其他版本。 用于跟踪工作项的客户端对象模型将验证你的 WorkItemStore 正在使用元数据的最新版本。 每当你调用导致到该服务器的往返过程的方法(例如 WorkItemStore.QueryWorkItem.Save)时,系统将执行此验证。 如果存在该元数据的更新版本,系统将获取更新后的元数据,然后引发 WorkItemStore.MetadataChanged 事件。

如果你的代码受到更改元数据的影响,则你的代码必须响应此事件。 例如,显示工作项窗体的代码必须响应此事件,以便显示该窗体的最新版本。

你的代码可以提示其 WorkItemStore 的实例以通过调用 WorkItemStore.SyncToCache 检查本地元数据缓存的更新。 例如,如果你的应用程序使用多个 WorkItemStore 对象,当它收到 WorkItemStore.MetadataChanged 事件时,你的代码可以使用 WorkItemStore.SyncToCache 提示 WorkItemStore 对象使用该元数据缓存的更新版本。

你的代码可以提示其 WorkItemStore 的实例通过调用 WorkItemStore.RefreshCache 检查该服务器中的更新元数据。

其他资源

扩展 Team Foundation

WorkItemStore

WorkItem