对于我当前的项目,当自定义工作项更改为特定状态时,我必须向数据库添加记录。为此,您可以构建一个TFS插件,该插件在WorkItemChanged事件中触发。但是,我们的公司策略不允许我们构建这些插件,因为它是针对所有项目集合中的每个工作项进行处理的。只有少数团队项目才需要此操作。
我的问题:是否有可能创建一些客户端插件(也许是一个VS插件)来代替此事件触发操作?或者是否有人为此事件创建另一种听众?
任何建议都会非常感谢,提前谢谢。
答案 0 :(得分:1)
您可以实施基于轮询的警报系统,而不是让TFS为您启动警报。
我会创建一个简单的工作项查询,选择您感兴趣的工作项并按“更改日期”列进行排序。然后我会编写一个简单的程序,使用TFS SDK来运行此工作项查询并根据结果进行通知,在民意调查之间保持高水位线。 (TFS SDK示例有一个运行工作项查询的示例。)
请注意,无论您的公司策略如何,这种基于轮询的方法都优于设置SOAP侦听器。 TFS使用的基于SOAP的警报系统是为TFS基础架构的组件之间的通信而开发的。您期望配置的SOAP端点具有高可用性 - 如果您的计算机出现故障,SOAP服务崩溃或您的IP地址发生变化,您将开始在事件日志中看到TFS抱怨。在切换到类似警报系统的基于轮询的模型之前,我在TFS服务器上填写了事件日志。
答案 1 :(得分:0)
最后,我在WorkItem编辑窗体中创建了一个自定义控件。在这个控件中,我可以实现创建数据库记录所需的所有逻辑。
因此,不是将组合框状态设置为保持状态,而是现在有一个完全相同的按钮,执行我的自定义编码,从而将记录添加到我们的数据库中。