ການຕັ້ງຄ່າ proxy ຂອງ ServiceStack HttpUtils ໃນ .NET 6+
ຕັ້ງຄ່າ proxy ຂອງ client ຮ່ວມ .NET 6+ ໃນເວລາເລີ່ມຕົ້ນ; ການປ່ຽນ factory ພາຍຫຼັງບໍ່ໄດ້ປ່ຽນ client ທີ່ມີຢູ່.
ໃນ build ຂອງ ServiceStack ສຳລັບ .NET 6+, HTTP Utils ສ້າງ HttpClient ຮ່ວມແບບ lazy. ຕັ້ງຄ່າ handler factory ຂອງມັນໃນເວລາເລີ່ມຕົ້ນ application, ກ່ອນການເອີ້ນ helper ຄັ້ງທຳອິດ:
ServiceStack.HttpUtils.HttpClientHandlerFactory = () =>
new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy("http://proxy.example:8080"),
AutomaticDecompression =
System.Net.DecompressionMethods.Brotli |
System.Net.DecompressionMethods.Deflate |
System.Net.DecompressionMethods.GZip
};ຖ້າ client ຮ່ວມມີຢູ່ແລ້ວ, ການປ່ຽນ factory ນີ້ບໍ່ໄດ້ຕັ້ງຄ່າມັນຄືນໃໝ່. ເວລານັ້ນແມ່ນການກວດສອບທຳອິດ ເມື່ອການກຳນົດພາຍຫຼັງເບິ່ງຄືບໍ່ມີຜົນ. ສາມາດເລືອກ HTTP endpoint ຈາກລາຍຊື່ proxy HTTP ສຳລັບເສັ້ນທາງສາທາລະນະ ກ່ອນ client ຮ່ວມນັ້ນຈະຖືກສ້າງ.
ສຳລັບບັນຊີ proxy, ຕັ້ງ WebProxy.Credentials ຜ່ານການຕັ້ງຄ່າຂອງ application. HttpClientHandler.UseDefaultCredentials ກ່ຽວຂ້ອງກັບບັນຊີເຊີບເວີ ແລະ ບໍ່ໄດ້ເຕີມຂໍ້ມູນຢືນຢັນຂອງວັດຖຸ proxy ນັ້ນໂດຍອັດຕະໂນມັດ.
ຕົວຢ່າງ HttpWebRequest ແລະ requestFilter ແບບເກົ່າແມ່ນເປົ້າໝາຍການຈັດຕັ້ງກ່ອນໜ້າ. ໃນຮູບແບບໃໝ່, ການຕັ້ງຄ່າຄຳຮ້ອງກວມເອົາຊ່ອງຂໍ້ມູນຂອງຄຳຮ້ອງ ໃນຂະນະທີ່ handler ຄຸ້ມຄອງການເສັ້ນທາງການເຊື່ອມຕໍ່.
ຮັກສາ factory ຂອງ client ກຳນົດເອງທີ່ມີຢູ່ ຫຼື ການຈັດການເປັນເຈົ້າຂອງ factory ຂອງ HTTP client ຂອງ application ເມື່ອຕິດຕັ້ງແລ້ວ. handler factory ນີ້ແມ່ນນະໂຍບາຍຮ່ວມ; ເສັ້ນທາງທີ່ບໍ່ກ່ຽວຂ້ອງກັນໃນເວລາດຽວກັນຕ້ອງການ client ທີ່ເປັນເຈົ້າຂອງແຍກຕ່າງຫາກ.