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);
    });

Korlátozott munkásmedencét használjon ahelyett, hogy minden végponthoz külön feladatot indítana. Az engedélyezett nyilvános célok elleni ellenőrzésekhez az ingyenes proxy lista ad jelöltsorokat; a próba építésekor őrizze meg az egyes bejegyzések protokollját. Ez a .NET ütemezési részlet proxy-tudatos ProbeAsync-et és szálbiztos observations gyűjtőt feltételez. A nyolc szemléltető korlát, nem mért optimum. A próbának továbbra is kellenek próbánkénti korlátok és a teljes feladat megszakítása.

Minden befejezett eredményt a bemenetével együtt tartson meg, még ha a befejezés sorrendje eltér is. Rögzítse a protokollt, végpontot, célt, módszert, eltelt időt és eredményt. A kapcsolódási hiba, a proxy-bejelentkezés elutasítása, az elutasított CONNECT és a webhelyről kapott válasz különböző megfigyelések.

Egy TCP-port megnyílása nem bizonyítja a proxy egyeztetését. A proxy címének webhelyként való letöltése szintén más, mint a cél kérésére használni.

A célt és a módszert a szükséges képesség szerint válassza. A HEAD takaríthat a törzstorgalmon, de nem bizonyítja, hogy a GET használható tartalmat ad vissza; egy webhely az egyiket elutasíthatja, a másikat engedélyezheti. A HTTPS hozzáadja a CONNECT-et és a cél TLS-t, amelyek a sima HTTP-ből hiányoznak. A kilépési cím a céloldal másik megfigyelése, a beállított belépéstől elkülönítve.

A korlátozott munka megakadályozza, hogy az ellenőrző kimerítse saját socketjeit, memóriáját vagy ütemezőjét, mielőtt felmérhetné az útvonalat. A szakaszos eredmény hasznos marad a kiválasztási szabályzatnak anélkül, hogy azt sugallná, egyetlen sikeres cél univerzálisan jóvá tesz egy végpontot.

Kapcsolódó cikkek