我在保存工作項目時遇到問題。該場景是我有一個Web應用程序,從那裏我發送價值到TFS。我可以改變這兩個地方的價值(也可以通過TFS的網絡應用程序)。我現在面臨的問題是如何檢查工作項目是否已修改或未保存
當我嘗試在TFS中保存工作項時,它會檢查自打開它以來是否進行了任何更改。如果是這樣,你不能保存。當我從web應用程序中保存時,沒有這樣的檢查,我使用了workitem.isvalid方法,仍然沒有檢查修改過的工作項,然後將其從Web應用程序保存。
這是我的代碼
wi.Open();
foreach (var str in piWorkItemTfs.Values.Keys)
wi[str] = piWorkItemTfs.Values[str];
if (!wi.IsValid())
{
var listFelaktigaVärde = (from Field field in wi.Validate() select field.Name + "=" + field.Value).ToList();
errorMessage = "Felaktiga värde: Id " + wi.Id + " " + String.Join(", ", listFelaktigaVärde);
}
else
{
wi.Save();
errorMessage = wi.Id.ToString();
}
任何一個可以幫助我避免併發問題,請。我只需要保存工作項目,但以前沒有做過任何更改,否則我會向最終用戶顯示錯誤消息。
嗨,感謝您的回覆。我也使用了IsDirty,它只在保存後才檢查更改後的值。我的問題是我已經在兩個不同的地方同時打開相同的工作項目(一個在Web應用程序和其他TFS中),當我首先在web中保存工作項並在tfs中保存保存錯誤(檢查是骯髒的)時,但如果我先保存TFS並嘗試從Web應用程序中保存工作項,那麼它不會發出任何異常,但更改後的值會消失。我需要在保存之前顯示一些錯誤(有些人從外部環境修改或不) – user1845163 2013-03-01 05:06:19
已更新答案給你例外。 – 2013-03-01 19:05:05
您好我無法看到MergeAll在SaveFlags – user1845163 2013-03-04 09:27:39