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 нь энгийн HTTP-д байхгүй CONNECT ба очих газрын TLS-ийг нэмнэ. Гарах хаяг нь тохируулсан орох хаалганаас тусдаа, очих газрын талын өөр нэг ажиглалт юм.

Хязгаарлагдмал ажил нь шалгагч замыг үнэлэхээс өмнө өөрийн сокет, санах ой, хуваарьлагчаа шавхахаас сэргийлнэ. Нэг амжилттай очих газар төгсгөлийн цэгийг бүх газарт сайн болгодог гэж дүр эсгэхгүйгээр үе шаттай үр дүн сонголтын бодлогод ашигтай хэвээр байна.

Холбоотой нийтлэлүүд