使用 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

(代码库) WorkItem示例

Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore

Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItem