2017-08-02 21 views
0

以下のコードを使用して作業項目をTFSに格納しますが、TFSが使用できない場合、またはTFSに同じ詳細を持つ4つのアイテムをTFSに格納している場合があります。私は以下のコードを使用しています。workitem.Save()複数の(重複した)アイテムをTFSに格納する

private static void SaveWorkItemtoTFS(WorkItem wi, ref int retryCount) 
     { 

      try 
      {     
       retryCount++;     
       wi.Save(); 
      } 
      catch (Exception ex) 
      { 
       if (retryCount <= 3) 
       { 
        Thread.Sleep(TimeSpan.FromSeconds(5)); 
        wi.SyncToLatest(); 
        SaveWorkItemtoTFS(wi, ref retryCount); 
       } 
       else 
       { 
        throw ex; 
       } 
      } 
     } 

ユニークなアイテムのみを保存したいだけです。しかし、それは同じ詳細で4つの項目を格納しています。あなたは助けてもらえますか?

例外がある:(管理者用) 技術情報: 操作がタイムアウトしました---> System.Net.WebException:操作はSystem.Net.HttpWebRequest.GetResponse(で をタイムアウトしました) マイクロソフトで.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequestAndGetResponse(HttpWebRequestのWebRequestクラス、webException & webException) TfsProj.BusinessLogic.SaveWorkItemtoTFS(作業項目ウィスコンシン、のInt32 & retryCount値) at TfsProj.BusinessLogic.SaveWorkItemtoTFS(作業項目WI、のInt32 & retryCount値) at TfsProj.BusinessLogic .SaveWorkItemtoTFS(WorkItem wi、Int32 & retryCount値) at TfsProj.BusinessLogic.SaveWorkItemtoTFS(作業項目ウィスコンシン、のInt32 & retryCount値) at TfsProj.BusinessLogic.AddNewCertificationTaskIntoTFS(REQUESTMODEL objRequestModel、文字requestId、列clientReqId) `

このエラーは、同様にこれをREPROすることができ、一度発生しました。

+0

IDは最新のものに同期した後に利用できますか?どのTFSバージョンを使用し、どの例外が正確に発生するか教えてください。 – Alex

+0

詳細な例外メッセージを共有できますか? –

答えて

0

例外によると、TFSサーバーから応答を受け取るとエラーが発生します。 Save()メソッドを介して作業項目を作成すると、最初にTFSサーバーに要求が送信され、作業項目が正常に作成されているかどうかを確認するための応答を待機します。したがって、あなたの質問では、作成作業項目要求が正常に送信され、作業項目が正常に作成されたが、コードがTFSサーバーから応答を受け取らず、例外がスローされ、さらに3回試行されたということです。

関連する問題