У меня проблема с сохранением workitem. Сценарий: у меня есть одно веб-приложение, оттуда я отправляю значение в TFS. Я могу изменить значение в обоих местах (через веб-приложение также из TFS). Проблема, с которой я столкнулся сейчас, -Как проверить работоспособность изменен или нет до того, как я сохраню
Когда я пытаюсь сохранить рабочий элемент в TFS, он проверяет, произошли ли какие-либо изменения с момента его открытия. Если так, вам не разрешено сохранять. Нет такой проверки, когда я сберегаю от веб-приложения, я использовал метод workitem.isvalid, но не проверяя, какой рабочий элемент был изменен, прежде чем я сохраню его из веб-приложения.
Это мой код
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();
}
Может ли один помочь мне, чтобы избежать проблемы параллельности пожалуйста. Мне нужно сохранить workitem только никаких изменений, сделанных ранее, иначе я покажу сообщение об ошибке конечному пользователю.
привет благодарю вас за ответ. Я также использовал IsDirty, он проверяет измененное значение только после сохранения. Моя проблема заключается в том, что я открыл один и тот же рабочий элемент в двух разных местах одновременно (один в веб-приложении и т. Д. В TFS), когда я сначала сохраняю рабочий элемент в сети и сохраняю сохранение в tfs, что дает мне ошибку (проверка грязная) но если я сначала сохраню TFS и попытаюсь сохранить рабочий элемент из веб-приложения, то он не даст никаких исключений, измененное значение исчезнет. Мне нужно показать некоторую ошибку перед сохранением (какой-то измененный из внешней среды или нет) – user1845163
Обновлен ответ, чтобы дать вам исключение. –
Привет, я не могу видеть MergeAll в SaveFlags – user1845163