Senda niðurhlaðið XML til .NET XmlReader sem straum
Láttu XML-þáttarann fá streymið úr svarinu sem fór í gegnum proxy í stað þess að biðja hann að sækja upprunalega vefslóð aftur.
HTTP-biðlarinn sækir XML-ið í gegnum rétta proxyið. Næsta lína býr til XML-lesara út frá upprunalegu vefslóðinni. Sú lína hefur aðra sókn í stað þess að þátta niðurhluðu gögnin.
Fyrir biðlara sem er þegar stilltur á fyrirhuguðu leiðina, láttu þáttarann fá streymið úr svarinu:
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);
Viðeigandi nafnrýmin eru System.Xml og System.Xml.Linq. Dæmið slökkvir viljandi á DTD-vinnslu og ytri upplausn; það er ekki leið til að sækja handahófskenndar ytri einingar í gegnum sama biðlarann.
Grunnvefslóðin varðveitir staðsetningargögn skjalsins. Ef samþykkt þáttunar- eða sannprófunarferli sækir samt ytri skemu eða aðrar ósjálfstæðar einingar, þurfa þær sóknir sína eigin skýru upplausnaraðferð og leiðahönnun.
Greindu ekki annað netkerfisbilun með því að breyta lykilorðinu á fyrsta, heppna biðlaranum. Komdu að því hvort þáttarinn fékk straum eða vefslóð, og fylgdu síðan öllum viðbótaraðföngum sér.