Team Foundation:Web服务多次调用

时间:2013-06-21 15:23:04

标签: c# wcf tfs tfs2012

我在Visual Studio中运行Web窗体站点,并在this之后构建了一个WCF Web服务,以连接Team Foundation的“Build Quality Changed”和“Build Finished”警报。

该服务运行正常,唯一的问题是Team Foundation不止一次调用它。就像在我更改构建质量和服务被调用。凉。然后大约10-15分钟后,在迄今为止被调用的每个事件上再次调用该服务。例如:

  1. 我运行build1 - 服务在完成时被调用。 15分钟后它被召唤 再次为build1。
  2. 我运行build2 - 为build2调用service。 15分钟后,它再次被调用build1和build2。它累积。
  3. 到目前为止,我只在Visual Studio调试器中尝试过这个。我已经确认,如果我手动调用Web服务,它就不会累积。我不知道为什么会这样。我可以通过检查构建完成的时间来绕过它,但我真的更喜欢这根本不会发生。

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

    谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

启用IsOneWay后,Team Foundation从未收到该服务的回复,因此无法确认其是否成功。所以每15分钟重复一次,最多重复5次。出于某种原因,任何先前警报的重试都是在完全相同的时间安排的,所以看起来它正在累积。