2012-11-12 9 views
5

मैं एंटिटी फ्रेमवर्क और एएसपी.नेट एमवीसी का उपयोग कर एक एप्लीकेशन लिख रहा हूं, इसलिए मैंने एमवीसी वेब एप्लिकेशन से डीएएल को अलग करने का फैसला किया। और वास्तव में अगली समस्या को छोड़कर सबकुछ ठीक है (यदि यह समस्या है): मुझे डीएएल प्रोजेक्ट के app.config से एंटिटी कनेक्शन स्ट्रिंग को वेब एप्लिकेशन के Web.config पर कॉपी करना था। और वास्तव में यह सही दिखता है: डेटा को कनेक्शन स्ट्रिंग के बारे में डीएएल को नहीं जानना चाहिए, यह मुख्य आवेदन का कर्तव्य है।वेब अनुप्रयोग में डीएएल और web.config में app.config

लेकिन मुझे वास्तव में पसंद नहीं है, मुझे डीएएल के app.config में एंटीटी कनेक्शन स्ट्रिंग रखना है, क्योंकि इसे मेरी EntityModel (* .edmx) को अपडेट करने की आवश्यकता है। क्या वेब अनुप्रयोग की कनेक्शन स्ट्रिंग के संदर्भ में कुछ बेहतरीन अभ्यास है? या शोक मैं बस इसे छोड़ देता है जैसे अब है?

+0

ईएफ जैसे कुछ का उपयोग करने के मामले में, क्या आपका डीएएल नहीं है? क्या आप इस डीएएल को डीएएल या अपने आप में लपेट रहे हैं? –

+1

हाँ, ठीक है, मैं अपने डीएएल प्रोजेक्ट – DanTheMan

उत्तर

6

तो, यहां क्या हो रहा है इसका एक स्पष्टीकरण। जब आप अपना आवेदन विकसित कर रहे हैं, तो डीएएल प्रोजेक्ट प्रकृति से है, यह अपनी परियोजना है। डीएएल प्रोजेक्ट को संपादित करते समय, विजुअल स्टूडियो प्रोजेक्ट कॉन्फ़िगरेशन फ़ाइल में मानों का उपयोग करेगा। इस प्रकार, उस app.config फ़ाइल में कनेक्शन स्ट्रिंग क्यों रहती है।

अब, जब आप अपने पूरे समाधान को वेब सर्वर पर प्रकाशित करते हैं, तो वेब एप्लिकेशन वास्तविक एप्लिकेशन है जो चल रहा है। इसमें डीएएल डीएल का संदर्भ है जिसे निर्माण प्रक्रिया के दौरान अनुपालन किया गया था। यह देखते हुए, डीएएल डीएलएल को इसके सभी कॉन्फ़िगरेशन मान वेब.कॉन्फिग से प्राप्त होंगे क्योंकि यह प्राथमिक निष्पादन असेंबली के लिए कॉन्फ़िगरेशन फ़ाइल है।

अपने प्रश्न का उत्तर देने के लिए, संभवतः उन्हें किसी अन्य कारण के लिए app.config और web.config दोनों में रखने के लिए सबसे अच्छा है, आपको हर बार अपने मॉडल को अपडेट करने की आवश्यकता होने पर 'नया कनेक्शन बनाना' नहीं होगा। जहां तक ​​मुझे पता है, डीएएल प्रोजेक्ट, विजुअल स्टूडियो में कभी भी अन्य प्रोजेक्ट कॉन्फ़िगरेशन फ़ाइल को नहीं देखेगा। हालांकि, app.config और web.conig दोनों में कनेक्शन स्ट्रिंग होने से आपकी परिनियोजन प्रभावित नहीं होगी। Web.config सेटिंग्स हमेशा इस्तेमाल किया जाएगा।

+1

टॉमी में ईएफ लपेट रहा हूं, विस्तृत उत्तर के लिए धन्यवाद। अब मुझे यह स्पष्ट है कि इसके बारे में चिंता करने की कोई बात नहीं है – DanTheMan

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