मैं SqlConnection
के लिए उपयोग कथन का उपयोग करता हूं। यह प्रदर्शन के लिए अच्छा है क्योंकि निपटान() को कॉल करने वाली ताकतें जो जल्द ही पूल को कनेक्शन जारी करती हैं।क्या कथन का उपयोग घुंघराले ब्रेसिज़ द्वारा प्रतिस्थापित किया जा सकता है?
हालांकि, मुझे एहसास हुआ कि उपयोग में बनाए गए ऑब्जेक्ट को फिर से परिभाषित नहीं किया जा सकता है। मैं इस तरह नहीं कर सकते:
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
//...
connection = new SqlConnection(connectionString2);
//...
connection = new SqlConnection(connectionString3);
}
मैं अगर मैं का उपयोग कर की जगह ले सकता सोच रहा था, और कुछ इस तरह करते हैं:
{
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
//...
connection = new SqlConnection(connectionString2);
//...
connection = new SqlConnection(connectionString3);
}
SqlConnection
पिछले }
ब्रेस के बाद उस तक पहुंच नहीं होगा। वस्तु का दायरा खत्म होने पर तुरंत निपटान() को बुलाया जाएगा?
धन्यवाद। अगर कनेक्शन बंद करने की बात आती है तो मैं निश्चित रूप से कनेक्शन कॉल करूँगा। बंद करें() लेकिन मैंने इसे उपरोक्त कोड में नहीं लिखा है। – nan
यदि आप स्पष्ट रूप से बंद() को कॉल करते हैं, तो भी आपके दूसरे उदाहरण में अपवाद होने पर कनेक्शन को खोलने की क्षमता है। कॉल का उपयोग न केवल निष्पादन करता है जब निष्पादन उस ब्लॉक को छोड़ देता है, यह अपवाद होने पर भी इसे कॉल करता है।अच्छे 'usings' समूह के लिए – ThatBlairGuy