2013-05-28 2 views
5

मैं एक HTTP वेब सेवा प्रदान करता हूं और मेरे उपयोगकर्ताओं में से एक मेरी वेबसाइट से डेटा पुनर्प्राप्त करने के लिए विंडोज 2003 मशीन पर सी # वेब क्लाइंट क्लास का उपयोग कर रहा है। मेरा उपयोगकर्ता कहता है कि वेब क्लाइंट कई ब्राउज़र उदाहरण बना रहा है और इसे बंद करने की आवश्यकता है। इसे बनाए जाने के बाद ब्राउज़र को कैसे बंद कर सकता है?सी # वेब क्लाइंट क्लास बनाने के बाद ब्राउज़र को कैसे बंद करें?

उनकी कोड:

Byte[] requestedHTML; 
WebClient client = new WebClient(); 
requestedHTML = client.DownloadData("http://abcabc.com/abc"); 
UTF8Encoding objUTF8 = new UTF8Encoding(); 
string returnMessage = objUTF8.GetString(requestedHTML); 

पी.एस. क्षमा करें अगर यह शौकिया लगता है, तो मैं सी # के लिए बहुत नया हूं। अंतर्निहित प्रोटोकॉल के आसपास यह सिर्फ एक आवरण -

+2

क्षमा याचना न दें। हम सब यहाँ सीखने के लिए। –

उत्तर

6

WebClientएक ब्राउज़र उपयोग नहीं करता। आप एक using जोड़ना चाहिए, लेकिन यह "कई ब्राउज़र उदाहरणों" के साथ कोई संबंध नहीं है:

using(WebClient client = new WebClient()) 
{ 
    return client.DownloadString("http://abcabc.com/abc"); 
} 
2

.NET फ्रेमवर्क में WebClient वर्ग कुछ सिस्टम संसाधन है जो नेटवर्क का उपयोग करने के लिए आवश्यक हैं पर रखती है माइक्रोसॉफ्ट विंडोज़ में ढेर। सीएलआर का व्यवहार यह सुनिश्चित करेगा कि इन संसाधनों को अंततः साफ कर दिया जाए।

हालांकि, यदि आप मैन्युअल रूप से Dispose पर कॉल करते हैं या using-statement का उपयोग करते हैं, तो आप इन संसाधनों को अधिक अनुमानित समय पर साफ कर सकते हैं। यह बड़े कार्यक्रमों के प्रदर्शन में सुधार कर सकते हैं।

using(WebClient client = new WebClient()) 
{ 
    // Do your operations here... 
} 

आप इस खूबसूरत ट्यूटोरियल उल्लेख कर सकते हैं: http://www.dotnetperls.com/webclient

+0

यदि मैं कर सकता, तो मैं आपको क्रेडिट भी दूंगा क्योंकि आपने मार्क ग्रेवेल के तुरंत बाद उसी उत्तर को पोस्ट किया था। :) – Joshua

संबंधित मुद्दे