using (WebResponse response = request.GetResponse())
{
    response.GetResponseStream().CopyTo(destination);
}

हरेक पुरानो HttpWebRequest प्रतिक्रियालाई यसको उपभोग पूरा गरी मुक्त गर्ने दायरामा राख्नुहोस्। यहाँ destination अनुप्रयोगको लेख्न योग्य आउटपुट स्ट्रिम हो; प्रतिलिपि असफल भए पनि using ब्लकले WebResponse मुक्त गर्छ, त्यो आउटपुटको स्वामित्व नलिई।

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

त्रुटिहरूमा पनि त्यही स्वामित्व लागू गर्नुहोस्। WebException ले तपाईंको कोडले जाँच्ने प्रतिक्रिया बोक्न सक्छ; जाँचपछि त्यो बन्द गर्नुहोस्। ढुवानी असफलतामा प्रतिक्रिया नै नहुन सक्छ।

हटाउने कार्यले प्रतिक्रियाका स्रोत फर्काउँछ तर हरेक अवस्थामा पुन: प्रयोगयोग्य जडानको वाचा गर्दैन। प्रोटोकल, सर्भर र बडीको उपभोग अझै महत्त्वपूर्ण छ।

यो पुरानो WebRequest स्ट्याकको मर्मतसँग सम्बन्धित छ। नयाँ कोडमा वास्तविक क्लाइन्टको प्रतिक्रिया/स्ट्रिम स्वामित्व पछ्याउनुहोस्; HttpClient का लागि, प्रतिक्रियाहरूलाई तिनीहरूको हटाउने दायराभित्र राख्नुहोस्, र यो सफाई असफलतालाई प्रोक्सी प्रमाणीकरण वा मार्ग छनोटबाट अलग चिन्नुहोस्।

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