似乎TFS不能很好地处理并发工作项编辑。我们遇到了两个有问题的场景:
场景一:
- 开始编辑一个工作项。
- 当你编辑时,其他人编辑并保存相同的项目。
- 当你试图保存时,你会得到可怕的TFS237079错误,这意味着你必须丢失你的更改,刷新项目并再次编辑。好。
场景B:
- 你有一个工作项被关注了一段时间。
- 有人编辑并保存条目。
- 当你开始编辑时,你实际上正在编辑一个过时的版本的工作项,并且在试图保存时将得到TFS23709。
我非常熟悉TFS SDK(编写了一些TFS VS插件和自定义工作项控件),但找不到类似于"BeforeEdit"事件的工作项。
拥有这样的事件将允许我警告用户其他人当前正在编辑(对于场景A),并在编辑之前获得最新版本(对于场景B)。
谢谢,div·雷维夫.
乐观并发就是这样。服务器不会跟踪谁在编辑工作项,所以如果你真的想做"其他人正在编辑这个项目"的通知,你可能需要编写自己的服务和自定义控件来跟踪它。你还必须处理如果visual studio崩溃和web UI无法发布编辑标志的问题。如果你选择了这条路,我祝你好运!