2011-09-23 20 views
8

मैं एक अलग थ्रेड में डीबी से पूछताछ कर रहा हूं।क्या कोई एप्लिकेशन बंद होने पर एक SQL कनेक्शन स्वचालित रूप से बंद हो जाता है?

यदि क्वेरी निष्पादित होने पर मैं एप्लिकेशन को बंद करता हूं, तो क्या SQLLonnection स्वचालित रूप से बंद हो जाएगा या यह खुला रहेगा?

उत्तर

9

यदि प्रक्रिया समाप्त हो जाती है, तो नेटवर्क कनेक्शन समेत सभी ओएस संसाधन जारी किए जाएंगे। दूसरे शब्दों में - यह ठीक है।

+0

@JoelCoehoorn:: ठीक है, मैं इस बारे में अधिक जानकारी के साथ इस लेख पाया यह निश्चित रूप से एक बहाना आदि तुरंत कनेक्शन को बंद से बचने के लिए नहीं है लेकिन यह एक कारण चिंता मत कि आपके ऐप में, जबकि कुछ कर नीचे चला जाता है है * उचित * हानिरहित। एक नई डेटा फ़ाइल आदि लिखने के माध्यम से आधा रास्ता मरना थोड़ा मुश्किल है (हालांकि निश्चित रूप से करने योग्य)। –

+0

कुछ मामलों में मैंने देखा है कि एप्लिकेशन बंद है, लेकिन जब आप सक्रिय कनेक्शन देखने के लिए SQL सर्वर में क्वेरी करते हैं, तब भी वे कनेक्शन दिखाते हैं। – shinji14

+0

@ वैनिला: यह संभव है कि नेटवर्क कनेक्शन समय-प्रतीक्षा या कुछ समान हो - लेकिन मैं उन्हें अपेक्षाकृत तेज़ी से छोड़ने की अपेक्षा करता हूं। डेटाबेस में आप किस प्रकार का कनेक्शन उपयोग कर रहे हैं? –

1

यदि आवेदन समाप्त होता है, तो खोला गया सबकुछ के साथ कनेक्शन बंद हो जाता है।

0

एक एसक्लोनकनेक्शन एक डिस्पोजेबल ऑब्जेक्ट है। आम तौर पर IDISposable लागू करने वाली वस्तुओं के निपटान() को हमेशा अच्छा अभ्यास होता है। मैंने यह भी देखा कि SqlConnection ऑब्जेक्ट्स में एक बंद() विधि है। क्या आपको वह भी बुलाओ?

SqlConnection: To Close or To Dispose?