क्या आप मुझे बता सकते हैं कि IIS सर्वर पर Web.config (रनटाइम पर) को संपादित करने पर वास्तव में क्या होता है?


11

क्या आप बता सकते हैं कि जब हम IIS सर्वर पर Web.config (रनटाइम पर) को संपादित करते हैं तो वास्तव में क्या होता है।

क्या अनुप्रयोग जो web.config पर निर्भर है, स्वचालित रूप से पुनरारंभ हो जाता है? यदि हाँ, तो स्वचालित पुनरारंभ (या web.config का पुनः लोड) को रद्द करना संभव है?


यदि आप संशोधित करने के बाद IIS web.config पढ़ते हैं या नहीं, यह देखने के लिए आप फ़ाइल एक्सेस ऑडिटिंग को चालू करने का प्रयास कर सकते हैं।
एरिक एच

जवाबों:


10

जब भी आप web.config को टच करते हैं ASP.NET AppDomain को फिर से शुरू किया जाता है। किसी फ़ोल्डर के लिए फ़ाइल चेंज नोटिफिकेशन (FCN) को बंद करना संभव है, लेकिन यदि आप इसकी मदद कर सकते हैं तो यह आमतौर पर सबसे अच्छा दांव नहीं है। यदि आप इसे बंद कर देते हैं, तो इसका मतलब है कि आपको परिवर्तनों को प्रभावी करने के लिए ऐप पूल को मैन्युअल रूप से रीसायकल करना होगा।

IIS7 से पहले, केवल ASP.NET परिवर्तन AppDomain रीसायकल का कारण होगा, लेकिन IIS7 और web.config में रहने वाली कई सेटिंग्स के साथ, यह एक अधिक सामान्य मुद्दा है। यानी IIS 7 प्रबंधक में एक डिफ़ॉल्ट डॉक्टर बदलने से AppDomain रीसायकल अब हो जाएगा।

आदर्श रूप से आपको बस अपनी परिवर्तन दर को कम रखने की आवश्यकता है, या कभी-कभी परिवर्तन को applicationHost.config पर लागू करें (जो कि AppDomain रीसायकल का कारण नहीं बनता है) web.config के बजाय।


4

जब आप इसे बदलते हैं, तो web.config का उपयोग करने वाला एप्लिकेशन फिर से शुरू हो जाएगा, यहां अधिक जानकारी है:

http://msdn.microsoft.com/en-us/library/ms178473.aspx

मुझे इसे रोकने के किसी भी तरीके का पता नहीं है (और मुझे यकीन नहीं है कि आप ऐसा क्यों करना चाहते हैं - शायद आप कुछ और विवरण प्रदान कर सकते हैं जो आप प्राप्त करने की कोशिश कर रहे हैं)।


3

FYI करें - ASP.NET 2.0 में आप पुनः आरंभ करने के कारण के साथ आवेदन पुनः आरंभ करने के लिए स्वास्थ्य निगरानी घटनाओं में निर्मित का उपयोग कर सकते हैं। यह आपको स्पष्ट रूप से दस्तावेज़ करने में सक्षम करेगा कि यह कब और कितनी बार होता है। यह मशीन के लिए मास्टर web.config का संपादन करके पूरा किया गया है।

अधिक जानकारी के लिए:

http://blogs.msdn.com/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx


3

[सिर्फ एक नोट]

मुझे पता है कि यह एक पुराना है लेकिन यह अभी भी विख्यात है।

स्कॉट फोर्सिथ - एमवीपी उत्तर गलत है।

जब भी आप web.config को टच करते हैं ASP.NET AppDomain को फिर से शुरू किया जाता है।

ये गलत है।


व्हिस्क उत्तर सबसे तकनीकी रूप से सही और पूर्ण उत्तर है क्योंकि इसमें MSDN का लिंक शामिल है जिसमें एक महत्वपूर्ण विवरण शामिल है:

जब एक एप्लिकेशन पुनरारंभ की आवश्यकता होती है, तो ASP.NET अनुप्रयोग डोमेन को फिर से शुरू करने और नई असेंबलियों को लोड करने से पहले मौजूदा एप्लिकेशन डोमेन और पुरानी असेंबली से सभी लंबित अनुरोधों को पूरा करेगा।

यह विशेष रूप से महत्वपूर्ण है जब हम वेब सेवाओं के बारे में बात कर रहे हैं। यह इंगित करता है कि यह ठीक हो सकता है एक मिड-डे पुनरारंभ सुरक्षित रूप से।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.