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 थप्छ। निकास ठेगाना गन्तव्य-पक्षको अर्को अवलोकन हो, कन्फिगर गरिएको प्रवेशबाट अलग।

सीमित कामले जाँचकर्तालाई मार्ग मूल्याङ्कन गर्नुअघि आफ्नै सकेट, स्मृति वा तालिककर्ता सकाउनबाट रोक्छ। चरणबद्ध नतिजा एउटा सफल गन्तव्यले एन्डपोइन्टलाई सर्वत्र राम्रो बनाउँछ भनेर देखाउनुबिना छनोट नीतिका लागि उपयोगी रहन्छ।

सम्बन्धित लेखहरू