2016-07-26 137 views
1

我有一个PowerShell脚本,这是否:如何从C#客户端发送修补程序请求?

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

我想在C#改写这个,使用Web客户端。

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

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

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

回答

3

您在拨打UploadString时错过了方法。

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

应该是:

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

401是未经授权的,所以也看看是否有一个步骤之前,在你的PowerShell的,你在登录或加入会话,您将需要复制该在你的C#中。

1

为了发送PATCH请求,您可以使用WebClient.UploadData

string data = "keepForever = true"; 
WebClient client = new WebClient(); 
client.Encoding = System.Text.Encoding.UTF8; 
string reply = client.UploadData(url, "PATCH", System.Text.Encoding.UTF8.GetBytes(data)); 
Console.WriteLine(reply); 
相关问题