我正在尝试从我们的TFS服务器上的报告服务实例下载一些数据。
考虑到代码应该在未加入域的计算机上运行,我决定自己设置凭据。但不幸的是,我得到了HTTP 401未经授权的错误。于是我连接了Fiddler来查看发生了什么。
但这时我遇到了Heisenberged - 只要使用Fiddler连接,调用就可以顺利完成身份验证,但没有连接则失败。Webclient是有问题还是我漏了什么深奥的东西?
考虑到代码应该在未加入域的计算机上运行,我决定自己设置凭据。但不幸的是,我得到了HTTP 401未经授权的错误。于是我连接了Fiddler来查看发生了什么。
但这时我遇到了Heisenberged - 只要使用Fiddler连接,调用就可以顺利完成身份验证,但没有连接则失败。Webclient是有问题还是我漏了什么深奥的东西?
private void ThisWorksWhenDomainJoined()
{
WebClient wc = new WebClient();
wc.Credentials = CredentialCache.DefaultNetworkCredentials;
wc.DownloadString("http://teamfoundationserver/reports/........"); //Works
}
private void ThisDoesntWork()
{
WebClient wc = new WebClient();
wc.Credentials = new NetworkCredential("username", "password", "domain");
wc.DownloadString("http://teamfoundationserver/reports/........"); //blows up wih HTTP 401
}