Transmiterea XML-ului descărcat către .NET XmlReader ca flux
Transmite fluxul de răspuns prin proxy analizatorului XML în loc să-i ceri să obțină din nou URL-ul original.
Clientul HTTP descarcă XML-ul prin proxy-ul corect. Următoarea linie creează un cititor XML din URL-ul original. Acea linie începe o altă obținere în loc să analizeze datele descărcate.
Pentru un client deja configurat cu ruta dorită, predă fluxul său de răspuns analizatorului:
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);
Spațiile de nume relevante sunt System.Xml și System.Xml.Linq. Exemplul dezactivează intenționat procesarea DTD și rezolvarea externă; nu este o modalitate de a obține entități externe arbitrare prin același client.
URI-ul de bază păstrează metadatele de locație ale documentului. Dacă un flux de lucru aprobat de analiză sau validare obține totuși scheme externe sau alte dependențe, acele obțineri au nevoie de propriul resolver explicit și de o proiectare a rutării.
Nu diagnostica o a doua defecțiune de rețea schimbând parola la primul client, cel care funcționează. Stabilește dacă analizatorul a primit un flux sau un URL, apoi urmărește separat orice resurse suplimentare.