1

私は Visual Studio で Web フォーム サイトを実行しており、これに従って WCF Web サービスを構築し、Team Foundation の "Build Quality Changed" および "Build Finished" アラートに接続しました。

サービスは正常に動作しますが、唯一の問題は、Team Foundation によって複数回呼び出されることです。ビルドの品質を変更すると、サービスが呼び出されます。涼しい。その後、約 10 ~ 15 分後に、これまでに呼び出されたすべてのイベントでサービスが再度呼び出されます。次に例を示します。

  1. build1 を実行します。終了時にサービスが呼び出されます。15 分後、build1 のために再度呼び出されます。
  2. build2 を実行すると、build2 に対してサービスが呼び出されます。15 分後、build1 と build2 の両方で再度呼び出されます。たまる。

これまでのところ、Visual Studio デバッガー内でのみこれを試しました。そして手動でWeb Serviceを呼び出すと溜まらないことを確認しました。なぜこれが起こっているのかわかりません。ビルドが完了した時間を確認することで回避できるかもしれませんが、これがまったく起こらないことを本当に望んでいます.

また、.NET 4.5、Visual Studio 2012、Team Foundation 2012 を使用しています。

ありがとうございました!

4

1 に答える 1

1

それで、私は最終的に何が起こっているのかを理解しました。IsOneWay=true契約からを削除する必要がありました:

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

IsOneWay をオンにすると、Team Foundation はサービスから応答を返さなかったため、成功したことを確認できませんでした。そのため、15 分ごとに最大 5 回まで再試行されました。何らかの理由で、以前のアラートの再試行はすべてまったく同時にスケジュールされているため、累積しているように見えます。

于 2013-06-25T14:53:59.060 に答える