c# - 如何从 C# 客户端发送补丁请求?

标签 c# tfs tfsbuild tfs-2015

我有一个执行此操作的 powershell 脚本:

    $uri = "$($tfsUri)/$($teamproject)/_apis/build/builds/$($buildID)?api-version=2.0"
    $data = @{keepForever = $keepForever} | ConvertTo-Json
    $response = $webclient.UploadString($uri,"PATCH", $data) 

我正在尝试使用 Web 客户端在 C# 中重写它。

WebClient client = new WebClient();
client.Encoding = System.Text.Encoding.UTF8;
string reply = client.UploadString(url, "keepForever = true");
Console.WriteLine(reply);

但我得到:远程服务器返回错误:(401) 未经授权。

这是 TFS 2015 VNext,如果有帮助的话。

最佳答案

您在调用 UploadString 时缺少方法.

string reply = client.UploadString(url, "keepForever = true");

应该是:

string reply = client.UploadString(url, "PATCH", "keepForever = true");

401 是未经授权的,因此还要查看您的 Powershell 中是否有一个您登录或加入 session 之前的步骤,您需要在 C# 中复制该步骤。

关于c# - 如何从 C# 客户端发送补丁请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38583551/

相关文章:

c# - 如何安装程序,以便在 Windows Vista/7 上以管理员权限启动时启动该程序

TFS 设置相关问题

tfsbuild - TFS 构建定义未将 mvc 应用程序部署到 IIS

visual-studio-2012 - 如何使用 VS2012、TFS Build 和 NUnit 从运行中排除测试

c# - 在具有多个 Where 语句的循环中过滤 IQueryable

c# - 正则表达式 *this close*,但仍然缺少一种符号

c# - 使用 Linq to SQL 基于自定义 .NET 属性进行分页和排序

visual-studio - SVN 与 TFS 集成

tfs - 我在哪里可以获得大型示例 TFS 存储库?

azure - 适用于 Jenkins 的 Azure DevOps 和 Team Foundation Server 插件中的发布定义