我在Visual Studio中运行Web窗体站点,并在this之后构建了一个WCF Web服务,以连接Team Foundation的“Build Quality Changed”和“Build Finished”警报。
该服务运行正常,唯一的问题是Team Foundation不止一次调用它。就像在我更改构建质量和服务被调用。凉。然后大约10-15分钟后,在迄今为止被调用的每个事件上再次调用该服务。例如:
到目前为止,我只在Visual Studio调试器中尝试过这个。我已经确认,如果我手动调用Web服务,它就不会累积。我不知道为什么会这样。我可以通过检查构建完成的时间来绕过它,但我真的更喜欢这根本不会发生。
此外,我正在使用.NET 4.5,Visual Studio 2012,Team Foundation 2012
谢谢!
答案 0 :(得分:1)
所以我终于弄清楚发生了什么。我只需要从合同中删除IsOneWay=true
:
[OperationContract(Action = "http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03/Notify"
IsOneWay=true)]
启用IsOneWay后,Team Foundation从未收到该服务的回复,因此无法确认其是否成功。所以每15分钟重复一次,最多重复5次。出于某种原因,任何先前警报的重试都是在完全相同的时间安排的,所以看起来它正在累积。