Passar l'XML descarregat a .NET XmlReader com a flux
Passa el flux de resposta del proxy a l'analitzador XML en lloc de demanar-li que torni a obtenir l'URL original.
El client HTTP descarrega l'XML a través del proxy correcte. La línia següent crea un lector XML a partir de l'URL original. Aquesta línia inicia una altra obtenció en lloc d'analitzar les dades descarregades.
Per a un client ja configurat amb la ruta prevista, lliura el seu flux de resposta a l'analitzador:
using var response = await client.GetAsync(documentUri);
response.EnsureSuccessStatusCode();
using var stream = await response.Content.ReadAsStreamAsync();
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};
using var reader = XmlReader.Create(stream, settings, documentUri.AbsoluteUri);
var document = XDocument.Load(reader);
Els espais de noms rellevants són System.Xml i System.Xml.Linq. L'exemple desactiva deliberadament el processament de DTD i la resolució externa; no és una manera d'obtenir entitats externes arbitràries a través del mateix client.
L'URI base conserva les metadades d'ubicació del document. Si un flux de treball aprovat d'anàlisi o validació sí que obté esquemes externs o altres dependències, aquestes obtencions necessiten el seu propi resolutor explícit i un disseny d'encaminament.
No diagnostiquis una segona fallada de xarxa canviant la contrasenya del primer client, el que va funcionar. Estableix si l'analitzador va rebre un flux o una URL i després segueix qualsevol recurs addicional per separat.