ເອກະສານທ້ອງຖິ່ນຍັງສາມາດເຮັດໃຫ້ເກີດ 407 ໃນລະຫວ່າງການແປງໄດ້. XML ຂອງມັນອາດຈະບອກຊື່ DTD, ໂຄງຮ່າງ ຫຼື entity, ແລະ renderer ອາດຈະໄປດຶງ style ຫຼື ຮູບພາບ. ລູກຄ້າທີ່ລົ້ມເຫຼວອາດຈະຢູ່ໃນ parser ນັ້ນ, ຫຼັງຈາກການດາວໂຫຼດເດີມສິ້ນສຸດແລ້ວ.

ເກັບ exception stack ແລະ URI ທີ່ຖືກຮ້ອງຂໍ, ແລ້ວຈັບຄູ່ກັບການປະກາດ input ຫຼື ການອ້າງອີງຊັບພະຍາກອນ. ການຮ້ອງຂໍ DTD ໄປຫາ host ມາດຕະຖານເປັນການດຳເນີນການອື່ນຈາກການຮ້ອງຂໍໜ້າ. ການແປງ HTML ເປັນ PDF ກໍອາດຈະລົ້ມເຫຼວໄດ້ເມື່ອ ດຶງຊັບພະຍາກອນທາງໄກ.

ສຳລັບ input .NET XmlReader ທີ່ສັນຍາຫ້າມ DTD ແລະ ການແກ້ໄຂພາຍນອກ, ໃຫ້ໃຊ້:

var settings = new XmlReaderSettings
{
    DtdProcessing = DtdProcessing.Prohibit,
    XmlResolver = null
};

ສົ່ງການຕັ້ງຄ່າເຫຼົ່ານັ້ນໄປຫາອົງປະກອບທີ່ແປງເອກະສານຕົວຈິງ. DtdProcessing ເລືອກວິທີຈັດການ DTD; XmlResolver ຄວບຄຸມການເຂົ້າເຖິງພາຍນອກ. Prohibit ປະຕິເສດເອກະສານທີ່ມີ DTD—ມັນບໍ່ໄດ້ລຶບການປະກາດ. ຖ້າຂະບວນການຕ້ອງການໜຶ່ງ, ໃຫ້ເລືອກການແກ້ໄຂທ້ອງຖິ່ນທີ່ໄດ້ຮັບອະນຸມັດ ຫຼື resolver ທີ່ກຳນົດເສັ້ນທາງຢ່າງຊັດເຈນ.

ຮັກສາຄ່າເລີ່ມຕົ້ນໃຫ້ຜູກກັບ API/runtime. XmlReaderSettings ໃຊ້ Prohibit ໂດຍຄ່າເລີ່ມຕົ້ນ, ແລະ resolver ເລີ່ມຕົ້ນຂອງມັນປ່ຽນເປັນ null ຕັ້ງແຕ່ .NET Framework 4.5.2. ຕົວແປງຈາກພາກສ່ວນທີສາມສາມາດຂຽນທັບ ຫຼື ໃຊ້ parser ອື່ນ.

ການປ່ຽນການປະກາດ XHTML ເປັນ HTML doctype ອາດຈະສົ່ງຜົນຕໍ່ຕົວແປງໜຶ່ງ, ແຕ່ມັນບໍ່ໄດ້ຕັ້ງຄ່າ proxy ຂອງມັນ. ກຳນົດຊັບພະຍາກອນທີ່ຕ້ອງການ ແລະ ນະໂຍບາຍການໂຫຼດຂອງພວກມັນ; ການພິສູດຢືນຢັນຢູ່ລູກຄ້າໜ້າທຳອິດບໍ່ໄດ້ພິສູດຢືນຢັນລູກຄ້າທີສອງນີ້.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ