我有一个应用程序封装了与 TFS REST API 的交互,以便对构建进行排队。该应用程序只是将所需的 json 发送到 API,它工作了几个月,直到它突然开始返回 409 - 冲突。
System.Net.WebException:远程服务器返回错误:(409)冲突。( https://tfs2015/tfs/spf/SPF/_apis/build/builds?api-version=2.0 :{"definition":{"id":190},"parameters":"{}"})
w3.org 将 http 代码 409 定义为:
由于与资源的当前状态冲突,无法完成请求。仅在预期用户可能能够解决冲突并重新提交请求的情况下才允许使用此代码。响应正文应该包含足够的信息让用户识别冲突的来源。理想情况下,响应实体将包含足够的信息供用户或用户代理解决问题;但是,这可能是不可能的,也不是必需的。
409 也不会消失 - 简单的重试始终失败。即使是重新启动构建服务器的整个“您是否尝试过重新打开它”的方法也无济于事。