Sto cercando di scaricare alcuni dati dall'istanza dei servizi di report sul nostro server TFS.
Dato che il codice deve essere eseguito su un computer non appartenente al dominio, ho pensato che avrei impostato personalmente le credenziali. Nessuna fortuna, ha ottenuto un HTTP 401 indietro non autorizzato. Ok, ho collegato Fiddler per vedere cosa stava succedendo.System.Net.WebClient non funziona in modo strano
Ma questo è quando ho ottenuto Heisenberged - la chiamata ora è andata avanti senza intoppi. Quindi l'autenticazione passa con Fiddler connesso, ma fallisce senza di esso. Il client Web è rotto o mi manca qualcosa di profondo qui?
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
}
+1 per l'utilizzo del principio di Heisenberg uncertaintly come un verbo, mai sentito che uno prima! –