ສົ່ງ XML ທີ່ດາວໂຫຼດແລ້ວໃຫ້ .NET XmlReader ເປັນສະຕຣີມ
ສົ່ງສະຕຣີມການຕອບສະໜອງຜ່ານພຣັອກຊີໃຫ້ຕົວແຍກວິເຄາະ XML ແທນທີ່ຈະຂໍໃຫ້ມັນໄປເອົາ URL ເດີມອີກຄັ້ງ.
ລູກຄ້າ HTTP ດາວໂຫຼດ XML ຜ່ານພຣັອກຊີທີ່ຖືກຕ້ອງ. ແຖວຕໍ່ໄປສ້າງຕົວອ່ານ XML ຈາກ URL ເດີມ. ແຖວນັ້ນເລີ່ມການເອົາມາໃໝ່ ແທນທີ່ຈະແຍກວິເຄາະຂໍ້ມູນທີ່ດາວໂຫຼດແລ້ວ.
ສຳລັບ ລູກຄ້າທີ່ຕັ້ງຄ່າດ້ວຍເສັ້ນທາງທີ່ຕ້ອງການແລ້ວ ໃຫ້ສົ່ງສະຕຣີມການຕອບສະໜອງຂອງມັນໃຫ້ຕົວແຍກວິເຄາະ:
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, ແລ້ວຕິດຕາມຊັບພະຍາກອນເພີ່ມເຕີມແຍກຕ່າງຫາກ.