我正在做一个项目,我需要将数据(票证)从服务台部门同步到 TFS,反之亦然。我可以使用 Windows 服务在 TFS 中添加项目,并且运行良好。但是,每当工作项在 TFS 中的状态发生变化时,我都想在帮助台系统中进行更新。所以为此我需要一种可以监听 TFS 工作项状态变化的事件监听器。我正在使用 TFS2010 API,并且我还研究了 ISubscriber。但看起来我需要开发插件并将其放在 TFS 安装的插件文件夹中的某个位置。我不想那样做,也不想直接使用网络服务。
我使用以下方法订阅事件。
public static int RegisterWithTFS(TfsTeamProjectCollection server, string eventType, string filter, int port, string receiveMethod)
{
string serviceEndPointURL = String.Format("http://{0}:{1}/{2}", Environment.MachineName, port, receiveMethod);
var preferences = new DeliveryPreference { Schedule = DeliverySchedule.Immediate, Type = DeliveryType.Soap, Address = serviceEndPointURL };
IEventService eventService = (IEventService)server.GetService(typeof(IEventService));
string username = @"mytfsuser";
return eventService.SubscribeEvent(username, eventType, filter, preferences);
}
我想知道一种机制,一旦 TFS 中的工作项状态发生变化,就会触发我的窗口服务 (C#)。所以我可以将它更新回我的帮助台系统。那么有人可以帮我解决这个问题吗?提前致谢。