Team Foundation:Web服务被调用多次

本文关键字:调用 服务 Foundation Web Team | 更新日期: 2023-09-27 18:19:36

我正在Visual Studio中运行一个Web Forms网站,并在此之后构建了一个WCF Web服务,以连接Team Foundation的"Build Quality Changed"answers"Build Finished"警报。

该服务运行良好,唯一的问题是Team Foundation多次调用它。在中,我更改了构建质量,然后调用了服务。凉的大约10-15分钟后,到目前为止调用的每个事件都会再次调用该服务。例如:

  1. 我运行build1-服务在它完成时被调用。15分钟后,它被呼叫再次用于build1
  2. 我运行build2-为build2调用服务。15分钟后,再次调用build1和build2。它在积累

到目前为止,我只在VisualStudio调试器中尝试过这种方法。我已经确认,如果我手动调用Web服务,它不会累积。我不知道为什么会发生这种事。我可能可以通过检查构建完成的时间来绕过它,但我真的希望这种情况根本不会发生。

此外,我正在使用.NET 4.5、Visual Studio 2012、Team Foundation 2012

谢谢!

Team Foundation:Web服务被调用多次

所以我终于弄清楚发生了什么。我只需要从我的合同中删除IsOneWay=true

[OperationContract(Action = "http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03/Notify"
                   IsOneWay=true)]

在IsOneWay打开的情况下,Team Foundation从未收到服务的回复,因此无法确认它是否成功。因此,它每15分钟重试一次,最多重试5次。出于某种原因,以前所有警报的重试都是在同一时间安排的,所以看起来是在累积。