Proksinimekirja kontrollimine piiratud paralleelsusega
Piira prokside paralleelseid kontrolle ja registreeri, mida iga kontroll sihtveebisaidi jaoks tegelikult tõestas.
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);
});Kasuta piiratud töötajate basseini, mitte ära käivita iga lõpp-punkti jaoks eraldi ülesannet. Lubatud avalike sihtmärkide vastu tehtavate kontrollide jaoks annab tasuta proksinimekiri kandidaadiridu; sondi koostamisel säilita iga kirje protokoll. See .NET-i ajastusfragment eeldab proksiteadlikku ProbeAsync ja lõimkindlat observations kogujat. Kaheksa on näitlik piir, mitte mõõdetud optimum. Sond vajab endiselt katsekoheseid piiranguid ja kogu töö tühistamist.
Hoia iga lõpetatud tulemus koos oma sisendiga ka siis, kui lõpetamise järjekord erineb. Registreeri protokoll, lõpp-punkt, sihtmärk, meetod, kulunud aeg ja tulemus. Ühenduse tõrge, proksi sisselogimise keeld, keeldutud CONNECT ja saidilt saadud vastus on erinevad vaatlused.
TCP-pordi avanemine ei tõesta proksiga läbirääkimist. Proksiaadressi veebisaidina toomine erineb samuti selle kasutamisest sihtmärgi pärimiseks.
Vali sihtmärk ja meetod nõutava võimekuse järgi. HEAD võib säästa keha liiklust, kuid ei tõesta, et GET tagastab kasulikku sisu; sait võib ühe tagasi lükata ja teise lubada. HTTPS lisab CONNECT-i ja sihtkoha TLS-i, mida lihtsas HTTP-s pole. Väljundiaadress on veel üks sihtkoha-poolne vaatlus, mis erineb seadistatud sisendist.
Piiratud töö hoiab kontrollija ära kulutamast oma sokette, mälu või planeerijat enne, kui ta suudab marsruuti hinnata. Etapiline tulemus jääb valikupoliitikale kasulikuks, teesklemata, et üks edukas sihtkoht teeb lõpp-punkti universaalselt heaks.