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

Defnyddiwch bwll gweithwyr cyfyngedig yn lle lansio tasg ar gyfer pob pwynt terfyn. Ar gyfer gwiriadau yn erbyn targedau cyhoeddus a ganiateir, mae'r rhestr ddirprwy am ddim yn darparu rhesi ymgeisydd; cadwch brotocol pob cofnod wrth adeiladu'r prawf. Mae'r darn amserlennu .NET hwn yn tybio ProbeAsync sy'n ymwybodol o ddirprwy a chasglwr observations sy'n ddiogel i edafedd. Mae wyth yn ffin ddangosiadol, nid optimum wedi'i fesur. Mae angen terfynau fesul ymgais a chanslo'r swydd gyfan o hyd.

Cadwch bob canlyniad gorffenedig gyda'i fewnbwn hyd yn oed pan fo trefn cwblhau'n wahanol. Cofnodwch brotocol, pwynt terfyn, targed, dull, amser a gymerwyd a chanlyniad. Mae methiant cysylltiad, gwrthodiad mewngofnodi dirprwy, CONNECT wedi'i wrthod ac ymateb a dderbyniwyd o'r wefan yn arsylwadau gwahanol.

Nid yw agor porth TCP yn profi negydu dirprwy. Mae cael cyfeiriad y dirprwy fel gwefan hefyd yn wahanol i'w ddefnyddio i ofyn am y targed.

Dewiswch y targed a'r dull ar gyfer y gallu sydd ei angen. Gall HEAD arbed traffig corff ond nid yw'n profi bod GET yn dychwelyd cynnwys defnyddiol; gall safle wrthod un a chaniatáu'r llall. Mae HTTPS yn ychwanegu CONNECT a TLS cyrchfan nad ydynt yn bodoli mewn HTTP plaen. Mae cyfeiriad allbwn yn arsylwad arall o ochr y gyrchfan, ar wahân i'r fynedfa a ffurfweddwyd.

Mae gwaith cyfyngedig yn cadw'r gwirydd rhag disbyddu ei socedi, ei gof neu ei amserydd ei hun cyn iddo allu asesu'r llwybr. Mae canlyniad camog yn parhau'n ddefnyddiol i'r polisi dethol heb honni bod un gyrchfan lwyddiannus yn gwneud pwynt terfyn yn dda yn gyffredinol.

Erthyglau cysylltiedig