C# TeamFoundation:Web服务被多次调用

C# TeamFoundation:Web服务被多次调用,c#,wcf,tfs,C#,Wcf,Tfs,我在VisualStudio中运行一个Web表单站点,然后我构建了一个WCF Web服务,以连接到Team Foundation的“构建质量更改”和“构建完成”警报。p> 服务很好,唯一的问题是团队基金会不止一次地调用它。如中所示,我更改构建质量并调用服务。酷。大约10-15分钟后,该服务会在迄今为止被调用的每个事件中再次被调用。例如: 我运行build1-服务完成后会被调用。15分钟后它被呼叫 同样适用于build1 我运行build2-为build2调用服务。15分钟后,build1和bui

我在VisualStudio中运行一个Web表单站点,然后我构建了一个WCF Web服务,以连接到Team Foundation的“构建质量更改”和“构建完成”警报。p> <>服务很好,唯一的问题是团队基金会不止一次地调用它。如中所示,我更改构建质量并调用服务。酷。大约10-15分钟后,该服务会在迄今为止被调用的每个事件中再次被调用。例如:

  • 我运行build1-服务完成后会被调用。15分钟后它被呼叫 同样适用于build1
  • 我运行build2-为build2调用服务。15分钟后,build1和build2都会再次调用它。它累积起来
  • 到目前为止,我只在VisualStudio调试器中尝试过这一点。我已经确认,如果我手动调用Web服务,它不会累积。我不知道为什么会这样。我可能可以通过检查构建完成的时间来避免这种情况,但我真的希望这种情况根本不会发生

    也,我使用.NET 4.5、VisualStudio 2012、Team Foundation 2012


    谢谢大家!

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

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

    随着团队的发展,团队基金会从未从服务中得到回应,因此无法证实它已经成功。所以每15分钟它最多重试5次。出于某种原因,之前所有警报的重试时间都安排在完全相同的时间,因此它看起来像是在累积。

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

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

    随着团队的发展,团队基金会从未从服务中得到回应,因此无法证实它已经成功。所以每15分钟它最多重试5次。出于某种原因,所有先前警报的重试都安排在完全相同的时间,因此它看起来像是在累积。

    这是自2012年TFS更新2或3以来的行为变化。我们的
    Notify
    运营合同定义为
    IsOneWay=true
    工作正常,直到2012年TFS更新1。升级到更新3后,我们开始获得与您看到的相同的行为。这是自2012年TFS更新2或3以来的行为变化。我们的
    Notify
    运营合同定义为
    IsOneWay=true
    工作正常,直到2012年TFS更新1。升级到更新3后,我们开始出现与您看到的相同的行为。