var options = new ParallelOptions
{
    MaxDegreeOfParallelism = 8,
    CancellationToken = cancellationToken
};
await Parallel.ForEachAsync(endpoints, options,
    async (endpoint, token) =>
    {
        var result = await ProbeAsync(endpoint, target, token);
        observations.Add(result);
    });

ໃຊ້ກຸ່ມຜູ້ເຮັດວຽກທີ່ມີຂີດຈຳກັດ ແທນທີ່ຈະເລີ່ມວຽກໜຶ່ງສຳລັບແຕ່ລະຈຸດປາຍທາງ. ສຳລັບການກວດສອບຕໍ່ເປົ້າໝາຍສາທາລະນະທີ່ອະນຸຍາດ ລາຍຊື່ພຣັອກຊີຟຣີ ໃຫ້ແຖວຜູ້ສະໝັກ; ຮັກສາໂປຣໂຕຄໍຂອງແຕ່ລະລາຍການເມື່ອສ້າງການທົດສອບ. ສ່ວນການຈັດຕາຕະລາງ .NET ນີ້ສົມມຸດວ່າມີ ProbeAsync ທີ່ຮູ້ຈັກພຣັອກຊີ ແລະ ຕົວເກັບ observations ທີ່ປອດໄພຕໍ່ກະແສ. ເລກແປດເປັນຂີດຈຳກັດຕົວຢ່າງ ບໍ່ແມ່ນຄ່າທີ່ດີທີ່ສຸດທີ່ວັດແລ້ວ. ການທົດສອບຍັງຕ້ອງການຂີດຈຳກັດຕໍ່ການພະຍາຍາມ ແລະ ການຍົກເລີກວຽກທັງໝົດ.

ເກັບທຸກຜົນທີ່ສຳເລັດພ້ອມກັບຂໍ້ມູນເຂົ້າຂອງມັນ ເຖິງແມ່ນລຳດັບການສຳເລັດຈະຕ່າງກັນ. ບັນທຶກໂປຣໂຕຄໍ, ຈຸດປາຍທາງ, ເປົ້າໝາຍ, ວິທີ, ເວລາທີ່ຜ່ານໄປ ແລະ ຜົນ. ການເຊື່ອມຕໍ່ລົ້ມເຫລວ, ການປະຕິເສດການເຂົ້າສູ່ພຣັອກຊີ, CONNECT ທີ່ຖືກປະຕິເສດ ແລະ ການຕອບສະໜອງທີ່ໄດ້ຮັບຈາກເວັບໄຊ ແມ່ນການສັງເກດທີ່ແຕກຕ່າງກັນ.

ການເປີດພອດ TCP ບໍ່ໄດ້ພິສູດການເຈລະຈາກັບພຣັອກຊີ. ການດຶງທີ່ຢູ່ພຣັອກຊີເປັນເວັບໄຊກໍແຕກຕ່າງຈາກການໃຊ້ມັນເພື່ອຮ້ອງຂໍເປົ້າໝາຍ.

ເລືອກເປົ້າໝາຍ ແລະ ວິທີຕາມຄວາມສາມາດທີ່ຕ້ອງການ. HEAD ສາມາດປະຢັດການຮັບສົ່ງຂໍ້ມູນຕົວ ແຕ່ບໍ່ໄດ້ພິສູດວ່າ GET ສົ່ງຄືນເນື້ອຫາທີ່ເປັນປະໂຫຍດ; ເວັບໄຊໜຶ່ງອາດປະຕິເສດອັນໜຶ່ງ ແລະ ອະນຸຍາດອີກອັນໜຶ່ງ. HTTPS ເພີ່ມ CONNECT ແລະ TLS ປາຍທາງທີ່ບໍ່ມີໃນ HTTP ທຳມະດາ. ທີ່ຢູ່ທາງອອກເປັນການສັງເກດອີກຢ່າງໜຶ່ງທາງຝັ່ງປາຍທາງ ແຍກຈາກທາງເຂົ້າທີ່ຕັ້ງໄວ້.

ວຽກທີ່ຈຳກັດປ້ອງກັນບໍ່ໃຫ້ຜູ້ກວດສອບໃຊ້ຊ່ອງສື່ສານ, ຫນ່ວຍຄວາມຈຳ ຫຼື ຕົວຈັດຕາຕະລາງຂອງຕົນໝົດ ກ່ອນຈະປະເມີນເສັ້ນທາງ. ຜົນແບບເປັນຂັ້ນຕອນຍັງມີປະໂຫຍດຕໍ່ນະໂຍບາຍການເລືອກ ໂດຍບໍ່ສະແດງວ່າເປົ້າໝາຍທີ່ສຳເລັດໜຶ່ງເຮັດໃຫ້ຈຸດປາຍທາງດີທຸກກໍລະນີ.

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