我必须通过 API 连接 TFS,当我在 LAN 内时,该 API 已经可以正常工作,但现在我必须通过网络代理连接到 TFS。我可以通过浏览器连接到 serverstatus.asmx。
我已经尝试设置环境变量并将
httpwebrequest
做同样的事情:
System.Net.HttpWebRequest request = System.Net.WebRequest.Create(tfs_uri) as System.Net.HttpWebRequest;
request.Credentials = tfs_cred;
System.Net.WebProxy p = new System.Net.WebProxy("http://proxy.local.lan:8080/");
p.UseDefaultCredentials = true;
request.Proxy = p;
System.Net.WebResponse response = request.GetResponse();
此代码可以连接到TFS。如果我删除代理定义并将
defaultProxy
标签添加到 app.config 中 - 连接 TfsConfigurationServer
对象时,我会收到相同的错误消息。
我的假设是:TFS API 不支持网络代理。这是正确的吗?
有人可以告诉我我的假设是错误的吗?
可以,但它比仅设置代理详细信息要复杂一些。由于 TFS 在幕后进行了大量单独的调用,因此您将无法使用上述方法。
尝试改编下面 Rido 的帖子:
我认为您应该能够将此方法集成到您自己的应用程序中。