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

Benotzt e begrenzte Worker-Pool, amplaz fir all Endpunkt eng eege Aufgab ze starten. Fir Kontrollen géint erlaabte ëffentlech Ziler liwwert déi gratis Proxy-Lëscht Kandidatzeilen; behält de Protokoll vun all Andrag bäi, wann Dir d'Sond baut. Dësen .NET-Planungsausschnëtt geet vun engem proxybewussten ProbeAsync an engem thread-sécheren observations-Sammler aus. Aacht ass eng illustrativ Grenz, keen gemoossene Optimum. D'Sond brauch nach ëmmer Limiten pro Versuch an en Ofbroch vum ganzen Job.

Behält all ofgeschloss Resultat mat sengem Input, och wann d'Uerdnung vum Ofschloss anescht ass. Notéiert Protokoll, Endpunkt, Zil, Method, vergaangen Zäit an Resultat. Verbindungsfeeler, ofgeleente Proxy-Login, ofgeleente CONNECT an eng empfaange Äntwert vun der Säit sinn ënnerschiddlech Observatiounen.

En oppenen TCP-Port beweist keng Proxy-Verhandlung. D'Proxy-Adress als Säit ofzeruffen ass och anescht wéi se fir d'Ufro un d'Zil ze benotzen.

Wielt d'Zil an d'Method no der néideger Fäegkeet. HEAD kann Kierpertraffic spueren, awer beweist net, datt GET nëtzlechen Inhalt zréckgëtt; eng Säit kann dat engt ofleenen an dat anert erlaben. HTTPS bäisetzt CONNECT an Zil-TLS, déi a einfachem HTTP feelen. Eng Ausgangsadress ass eng aner Observatioun op der Zilsäit, getrennt vum konfiguréierte Agang.

Begrenzt Aarbecht verhënnert, datt de Kontrolleur seng eege Sockets, säi Späicher oder säi Scheduler erschöpft, ier en d'Route bewäerte kann. En ofgestuft Resultat bleift nëtzlech fir d'Auswielpolitik, ouni virzeginn, een erfollegräicht Zil mécht en Endpunkt universell gutt.

Ähnlech Artikelen