2011-02-24 13 views
6

मेरी कंपनी का एक ऐसा एप्लिकेशन है जो web.config फ़ाइल में प्रोग्रामेटिक रूप से एक मान संग्रहीत करता है। Web.config फ़ाइल हर पांच मिनट में लगभग एक बार अपडेट की जाती है।वेब.config में डायनामिक डेटा को सहेजना क्यों बुरा विचार है?

जेम्स कुरान पदों यह एक बुरा विचार है कि इस सवाल का जवाब Dynamically change connectionString in web.config में प्रोग्राम के web.config संशोधित करने के लिए, लेकिन वह स्पष्ट नहीं होता क्यों यह एक बुरा विचार है।

मैं web.config फ़ाइल में किसी भी गतिशील डेटा को स्टोर न करने के लिए अपने मालिक को मनाने के कारणों की तलाश में हूं। अच्छे लेखों के लिंक विशेष रूप से सराहना की जाएगी।

उत्तर

10

प्रत्येक बार जब आप web.config को संशोधित करते हैं, तो एप्लिकेशन पुनरारंभ होता है।

+4

यह वास्तव में आपको एकमात्र कारण है। – jonezy

+1

जो मैं संघर्ष कर रहा हूं वह है, भले ही यह नहीं हुआ, यह कभी भी अच्छा क्यों होगा? अगर आप किसी कारण से फाइल सिस्टम में डेटा स्टोर करना चाहते हैं, तो सिर्फ एक और फ़ाइल का उपयोग क्यों न करें? –

+0

कारण डेटा को स्टोर करने के लिए web.config का उपयोग किया जाता है क्योंकि .Net ऐसा करने में बहुत आसान बनाता है। –

4

यह बुरा विचार है क्योंकि हर बार जब आप कॉन्फ़िगरेशन फ़ाइल को संशोधित करते हैं तो वेब एप्लिकेशन पुनरारंभ होगा। साथ ही, यदि आप "वेब साइट" प्रोजेक्ट का उपयोग कर रहे हैं तो यह हर बार कॉन्फ़िगरेशन को संशोधित करने पर भी संकलित किया जाएगा। तो आपके पास प्रदर्शन और प्रतिक्रिया समस्याएं होंगी। आप बॉस शायद यह नहीं चाहते हैं :)

1

एप्लिकेशन पुनरारंभ करने के अतिरिक्त, आपके पास Web.config फ़ाइल में संग्रहीत कई सुरक्षा संबंधित मान हैं। आपके एप्लिकेशन में उस फ़ाइल में लिखने की अनुमति भी नहीं होनी चाहिए।

0

मुख्य जोखिम रूट फ़ोल्डर या * .config फ़ाइलों में फ़ाइलों को वेब सर्वर प्रक्रिया द्वारा लिखने योग्य होने की अनुमति देना है। यह एक प्रमुख सुरक्षा दोष की तरह दिखेगा।

आप क्या कर सकते हैं नियमित कार्य है web.config फ़ाइल को संशोधित करें यदि उपयोगकर्ता इस कार्य का मालिक है तो वेब सर्वर पर लेखन पहुंच नहीं देता है।

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