Жүктелген XML-ді .NET XmlReader-ге ағын ретінде беру
Прокси арқылы өткен жауап ағынын XML талдаушысына беріңіз, одан бастапқы URL-ді қайта алуды талап етпей.
HTTP клиент XML-ді дұрыс прокси арқылы жүктейді. Келесі жол бастапқы URL-ден XML оқырманын жасайды. Бұл жол жүктелген деректерді талдаудың орнына тағы бір алуды бастайды.
Күтілетін маршрутпен әлдеқашан конфигурацияланған клиент үшін оның жауап ағынын талдаушыға беріңіз:
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);
Тиісті аттар кеңістіктері — System.Xml және System.Xml.Linq. Мысал DTD өңдеуін және сыртқы шешімді әдейі өшіреді; бұл сол клиент арқылы ерікті сыртқы субъектілерді алу тәсілі емес.
Негізгі URI құжаттың орналасу метадеректерін сақтайды. Егер мақұлданған талдау немесе тексеру жұмыс ағыны сыртқы схемаларды немесе басқа тәуелділіктерді шынымен алса, ол алуларға өздерінің айқын шешушісі мен маршруттау дизайны қажет.
Екінші желілік ақауды бірінші, сәтті клиенттің құпия сөзін өзгерту арқылы диагностикаламаңыз. Талдаушы ағын алды ма, әлде URL алды ма, соны анықтап, содан кейін қосымша ресурстарды бөлек қадағалаңыз.