आप संभावित स्मृति रिसाव और "कनेक्शन" शब्द को ट्रैक करने का उल्लेख करते हैं। मुझे लगता है कि आप एक डेटाबेस कनेक्शन का मतलब है।
आपको हमेशा अपने सभी कनेक्शन और कमांड using
खंडों में लपेटना चाहिए। यह गारंटी देगा कनेक्शन/आदेश ठीक से, एक त्रुटि होती है, तो ग्राहक डिस्कनेक्ट अगर की परवाह किए बिना का निपटारा किया जाता है आदि
वहाँ उदाहरण के बहुत सारे यहाँ हैं, लेकिन यह कुछ ऐसा करने पर निर्भर करता:
using (SqlConnection conn = new SqlConnection(connStr)) {
using (SqlCommand cmd = new SqlCommand(conn)) {
// do something here.
}
}
हैं , किसी कारण से, आपका कोड आपको इस तरह से ऐसा करने की अनुमति नहीं देता है, तो मैं सुझाव दूंगा कि अगली चीज़ जो आप करते हैं उसे पुन: व्यवस्थित करें क्योंकि आपने इसे गलत किया है। एक आम समस्या यह है कि कुछ लोग पृष्ठ निष्पादन के शीर्ष पर एक कनेक्शन ऑब्जेक्ट बनाएंगे, फिर पृष्ठ के जीवन के लिए इसका पुन: उपयोग करें। यह समस्याएं उत्पन्न करने की गारंटी है, जिसमें इस तक सीमित नहीं है: कनेक्शन पूल के साथ त्रुटियां, स्मृति की हानि, यादृच्छिक क्वेरी समस्याएं, ऐप की पूर्ण खुराक ...
स्थापना के साथ प्रदर्शन के बारे में चिंता न करें (और छोड़ना) उस बिंदु पर कनेक्शन जो आपको कोड में चाहिए। विंडोज एक कनेक्शन पूल का उपयोग करता है जो बिजली तेज है और जब तक आपका ऐप सिग्नल करता है तब तक कनेक्शन को बनाए रखेगा।
यह भी ध्यान दें: आपको इस पैटर्न का उपयोग हर बार एक गैर-प्रबंधित कक्षा का उपयोग कर रहे हैं।वे हमेशा IDisposable
लागू करते हैं।
यह एक अच्छा बिंदु +1 है। मैं पेज पर प्रतिक्रिया कई बार उपयोग कर रहा हूँ। फ्लश। सर्वर फ्लश में क्या होता है लेकिन कोई क्लाइंट नहीं है? – w0051977