2009-08-25 11 views
5

कनेक्शनस्ट्रिंग नामक एक और खंड क्यों है? मैंने हमेशा ऐप सेटिंग्स का उपयोग किया है, जब तक मैंने इसे एक नई परियोजना में नहीं देखा:Web.config फ़ाइल में appSettings और कनेक्शनStrings के बीच अंतर?

<appSettings> 
<add key="SqlConnString" value="server=ABC;database=ABC;uid=A;pwd=B;"/> 
</appSettings> 

<connectionStrings>  
</connectionStrings> 

क्या कोई अंतर है? किसी भी कारण से मुझे एक दूसरे का उपयोग क्यों करना चाहिए?

उत्तर

9
documentation से

:

ConnectionStrings तत्व ASP.NET अनुप्रयोगों और सुविधाओं के लिए डेटाबेस कनेक्शन तार का एक संग्रह, नाम/मान जोड़े के रूप में, निर्दिष्ट करता है।

एएसपी.नेट के पिछले संस्करणों में, कनेक्शन तार ऐप सेटिंग्स में संग्रहीत किए गए थे। एएसपी.नेट 2.0, फीचर्स, जैसे सत्र, सदस्यता, वैयक्तिकरण, और रोल मैनेजर, कनेक्शन स्ट्रिंग्स पर भरोसा करते हैं जो कनेक्शन में संग्रहीत हैं तत्व। आप अपने एप्लिकेशन के लिए कनेक्शन स्ट्रिंग स्टोर करने के लिए कनेक्शन स्ट्रिंग तत्व का भी उपयोग कर सकते हैं।

तो केवल वास्तविक अंतर यह है कि बेक्ड-इन एएसपी.नेट 2.0 फीचर्स कनेक्शन कनेक्शन में कनेक्शन कनेक्शन होने की उम्मीद करेंगे।

+0

क्यों सत्र, सदस्यता, वैयक्तिकरण और भूमिका प्रबंधक ने ऐप सेटिंग्स लीवरेज नहीं की थी? कनेक्शन स्ट्रिंग्स क्या अतिरिक्त कार्यक्षमता प्रदान करते हैं कि ऐप सेटिंग्स नहीं करते हैं? – Paul

2

यदि आप <connectionStrings> अनुभाग में अपना कनेक्शन स्ट्रिंग अलग करते हैं, तो आपकी कॉन्फ़िगरेशन को पढ़ने, बनाए रखने और संभालने में आसान होगा।

इसके अलावा, आप केवल कनेक्शन स्ट्रिंग को एन्क्रिप्ट करके अपनी सुरक्षा बढ़ा सकते हैं क्योंकि वे आमतौर पर संवेदनशील आइटम होते हैं, और यदि वे अपने स्वयं के अनुभाग में हैं, तो आप आसानी से उस अनुभाग को एन्क्रिप्ट कर सकते हैं और शेष को छोड़ सकते हैं सादा पाठ में your app.config, ताकि आप सेटिंग को आसानी से अपडेट और संशोधित कर सकें।

मार्क

+0

आप ऐप सेटिंग्स को आसानी से एन्क्रिप्ट कर सकते हैं। अलगाव के लिए, मैं कनेक्शन स्ट्रिंग बनाम एप्सेटिंग के अलावा एप्सेटिंग व्यवस्थित करने के कई अलग-अलग तरीकों के बारे में सोच सकता हूं। मुझे उम्मीद है कि एमईएफटी के एरिक का उल्लेख करने से इस अलगाव को पेश करने का निर्णय अधिक था। यह अन्यथा मनमाना लगता है। – Paul

+0

इसके अतिरिक्त, इस निर्णय में आज अजीब साइड इफेक्ट्स लगते हैं। Azure ऐप सेवा योजनाओं में, आप एप्लिकेशन सेटिंग्स (दोनों ऐप सेटिंग्स और कनेक्शन स्ट्रिंग्स) को कॉन्फ़िगर कर सकते हैं। हालांकि, अनुप्रयोग कॉन्फ़िगरेशन app.config ऐप सेटिंग्स को ओवरराइड नहीं करता है, जबकि कनेक्शन स्ट्रिंग app.config कनेक्शन स्ट्रिंग को ओवरराइड करते हैं। इस वजह से, मैं कनेक्शन स्ट्रिंग की ओवरराइडिंग क्षमता के लिए कनेक्शन स्ट्रिंग में गैर-कनेक्शन स्ट्रिंग सेटिंग्स डाल रहा हूं। मुझे इसे पढ़ने, बनाए रखने या संभालने में आसान नहीं लगता है। – Paul

+0

@ पॉल - पोर्टल में सेट एप्लिकेशन सेटिंग्स अपनी वेबसाइट के web.config या अपने webjob की app.config फ़ाइल में ऐप सेटिंग्स को ओवरराइड करें। यह मेरे लिए हर समय उपयोगी है। – Tim

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