c# - एएसपी.नेट एमवीसी पुनःसंयोजन की सीमा 15 होस्टिंग हो रही है पर्यावरण ने शटडाउन होस्टिंग शुरू की है पर्यावरण के कारण शट डाउन



asp.net asp.net-mvc (1)

इसलिए वास्तव में आवेदन को पुनः कंपाइल किया जा रहा है और चूंकि 15 रैंकिंग के बाद एप डोमेन / एप्लिकेशन पूल रीसायकल के बाद डिफ़ॉल्ट सीमा 15 है।

आम तौर पर आप ईवेंट व्यूअर में इवेंट आईडी -1305 के साथ एक ईवेंट देखेंगे। ओपन आईआईएस प्रबंधक => एप्लीकेशन पूल => राइट क्लिक करें एप्लिकेशन पूल और उन्नत सेटिंग्स पर जाएं = रीसायकल इवेंट लॉग प्रविष्टि उत्पन्न करने के लिए नीचे स्क्रॉल करें और सभी को सच में बदल दें। इसके अलावा आपको ईवेंट मॉनिटरिंग को ईवेंट व्यूअर में विवरण देखने के लिए सक्षम होना पड़ सकता है।

जब आपने इसे 100 तक बढ़ा दिया तो सीमा तक नहीं पहुंच गई है और इसलिए नियमित रूप से रीसायकल अनुसूची (डिफ़ॉल्ट रूप से हर 29 घंटों के दौरान)

पूरी वेबसाइट रीकंपाइल के कारणों की एक सूची:

  1. डिफ़ॉल्ट रूप से, जब वेब साइट में किसी शीर्ष-स्तरीय फ़ाइल में कोई परिवर्तन किया जाता है, तो पूरी साइट को पुनः कंपाइल किया जाता है। शीर्ष-स्तरीय फाइलों में वैश्विक.एएसएक्स फ़ाइल और बिन / और एपसीडीएड / फ़ोल्डर्स की सभी फाइलें शामिल हैं। यहां अतिरिक्त विवरण - https://blogs.msdn.microsoft.com/tmarq/2007/11/01/asp-net-file-change-notifications-exactly-which-files-and-directories-are-monitored/
  2. वेब को संशोधित करना। config
  3. एक कॉन्फ़िगरेशन फ़ाइल परिवर्तन शामिल है, यदि अनुभाग सूचनाResestOnExternalChanges संपत्ति सच है

    <section name="MyAppSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="true" requirePermission="false" />

टिप्पणियाँ:

यदि आप संपूर्ण साइट को पुनः कंपाइल किए बिना उच्च-स्तरीय फ़ाइलों को परिवर्तित करने में सक्षम होना चाहते हैं, तो आप Web.config फ़ाइल में संकलन तत्व के अनुकूलन को सेट कर सकते हैं।

संदर्भ:

एएसपी.नेट गतिशील संकलन को समझना

पुनःसंपादित करने के लिए दूसरे सामान्य कारण में से एक को स्रोत कोड फ़ोल्डर में लिखे जाने वाली फाइल के कारण होता है, जैसे कि स्रोत कोड फ़ोल्डर या वेब ऐप फ़ोल्डर को स्कैन करने की कोशिश में एंटी व्हायरस के साथ एक लॉग फ़ाइल लिखना और शायद इसमें कुछ लिखना (आप एंटी वायरस स्कैन से वेब ऐप फ़ोल्डर को बाहर कर सकते हैं और देखें कि क्या यह मदद करता है)।

हालांकि ठीक से यह पता करने के लिए कि आपको एक ईटीडब्ल्यू ट्रेस पर कब्जा करने और देखने की आवश्यकता क्यों है। एक विस्तृत विवरण दिया गया है कि यह कैसे करें - https://blogs.msdn.microsoft.com/tess/2008/11/06/troubleshooting-appdomain-restarts-and-other-issues-with-etw-tracing/

इसके अलावा यहां एक ज्ञात मुद्दा है, जो यहां बताया गया है - http://support.microsoft.com/kb/319947

लिंक से संबंधित टेक्स्ट

हालाँकि, यह समस्या तब होती है जब आप सर्वर पर कई .aspx या .ascx फ़ाइलें लोड करते हैं (उदाहरण के लिए, 61 फ़ाइलें)। जब पहली 15 फाइलें फिर से कंपाइल हो जाती हैं और सर्वर 15 बार फिर से कंपाइल हो जाता है, तो जब सर्वर 61 तक पहुंच जाता है तो सर्वर ने एप्लिकेशन को अनलोड कर दिया है। इसके परिणामस्वरूप चार एप्लिकेशन पुनरारंभ होते हैं, हालांकि केवल एक ही आवश्यक है।

यह स्मृति प्रभावों के बारे में बात करता है ताकि सुनिश्चित करें कि आपके पास आवधिक एप्लिकेशन पूल रीसाइक्लिंग सक्षम है।

उम्मीद है की यह मदद करेगा

कुछ बिंदु पर, एक कोड पुश के कुछ ही समय बाद, हमने देखा कि हमारे वेब अनुप्रयोग में होने वाले कई पुनरारंभ किसी भी समस्या को इंगित करने वाले कोई प्रवेश नहीं है। इसलिए मुझे यह आलेख मिला: http://weblogs.asp.net/scottgu/433194 और हमने ऐप्लिकेशन_ईड लॉगिंग को जोड़ा, जिसमें तुरंत यह पता चला:

_shutDownMessage = 15 तक होस्टिंग होस्टिंग की पुन: सम्मिलन की सीमाएं पर्यावरण ने शटडाउन होस्टिंग शुरू की हैइन्निवर ने सिस्टम पर शटडाउन _शूटडाउनस्टैक्स = सिस्टम पर। पर्यावरण.गेटस्टैक्सट्रेस (अपवाद ई, बूलियन की जरूरत फ़ीलइन्फो) सिस्टम पर। Environment.get_StackTrace () पर सिस्टम। Web.Hosting.HostingEnvironment.InitiateShutdownInternal () सिस्टम पर System.Web.Hosting.HostingEnvironment.InitiateShutdownWithoutDemand () पर System.Web.HttpRuntime.ShutdownAppDomain (String stackTrace) पर सिस्टम। Web.Compilation.DiskBuildResultCache.ShutdownCallBack (ऑब्जेक्ट स्थिति) सिस्टम पर। थ्रेडिंग। एक्सेक्यूशन कंसटेंट। RunInternal (ExecutionContext executionContext, ContextCallback callback , ऑब्जेक्ट स्टेट, बूलियन को सिस्टम सिस्टिफिकेशन को संरक्षित करता है। थ्रेडिंग। एक्सेक्यूशन कॉन्टेक्स। रन (निष्पादन कंटबॉक्स एक्ज़्यूशन कॉनटेक्स्ट, कॉन्टेक्स्ट कॉलबैक कॉलबैक, ऑब्जेक्ट स्टेट, बूलियन को सर्किट सिंकसीटीएक्स) सिस्टम पर। थ्रेडिंग.क्यूयूयूयूआईएडरवार्कआईटीएमकॉलबैक.सिस्टम। थ्रेडिंग.आईथेडपॉलवर्क इटैम.एक्सएक्यूटवकर्इटम () सिस्टम पर। थ्रेडिंग। थ्रेडपूलवर्क क्यूउ .Dispatch ()

इस त्रुटि को जाने से आश्चर्यजनक रूप से बहुत कम पता चलता है, इसलिए हमने अपने web.config को अपडेट किया है

 <compilation debug="false" numRecompilesBeforeAppRestart="100">

और वायलो! सब कुछ वापस सामान्य करने के लिए हमने अपने परिवर्तनों की अच्छी तरह से समीक्षा की लेकिन हमें कुछ भी ऐसा नहीं मिला जो हमें लगा कि अपराधी हो सकता था।

क्या किसी और को इस या इसी तरह का सामना करना पड़ता है, या क्या दुनिया में इसके कारण ज्ञान / संदेह है? कोई प्रतिक्रिया शानदार होगा!