Frage

Ich habe ein Stück Code, die ein XML-Dokument mit dem XmlDocument.Load (uri) Methode verwendet wird grundsätzlich liest, die gut funktioniert, aber funktioniert nicht so gut, wenn der Anruf über einen Proxy hergestellt wird.

Ich frage mich, ob jemand eine Möglichkeit, kannte diesen Anruf zu tätigen (oder die gleiche Wirkung erzielen) über einen Proxy?

War es hilfreich?

Lösung

Haben Sie Anmeldeinformationen an den Proxy zu bieten haben?

Wenn ja, sollte dies helfen: „Die Versorgung von Authentifizierungsinformationen zu XmlResolver wenn sie aus einer Datei lesen“ http://msdn.microsoft.com/en-us/library/aa720674.aspx

Grundsätzlich Sie ...

  1. Erstellen Sie ein XmlTextReader mit der URL
  2. Stellen Sie die Credentials-Eigenschaft des Lesers XmlResolver
  3. Erstellen Sie eine XmlDocument-Instanz und die Leser auf die Load-Methode übergeben.

Andere Tipps

Dies ist der Code, den ich am Ende mit:

WebProxy wp = new WebProxy(Settings.Default.ProxyAddress);
wp.Credentials = new NetworkCredential(Settings.Default.ProxyUsername, Settings.Default.ProxyPassword);
WebClient wc = new WebClient();
wc.Proxy = wp;

MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(ms);
return XDocument.Load(rdr); 

Mit lomaxx Antwort aber ändern

MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(url);

MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(ms);

Sie können XMLDocument nicht konfigurieren Proxy zu verwenden. Sie können WebRequest oder WebClient-Klasse verwenden, um Daten über einen Proxy zu laden und erhalten Antwort Strom XMLDocument

übergeben

Sie können auch versuchen XmlTextReader-Klasse zu verwenden. Es ermöglicht Ihnen, Netzwerkanmeldeinformationen festgelegt. Weitere Einzelheiten finden Sie unter:

Versorgung von Authentifizierungsinformationen zu XmlResolver wenn aus einer Datei lesen

Sie müssen verwenden WebProxy und WebRequest die xml herunterladen, dann analysieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top