2009-04-23 7 views
5

मुझे लगता है कि थोड़ी देर के बाद मेरा वेबप्लिकेशंस बंद हो जाता है।मैं अपने आवेदन को जिंदा रखने के लिए अपना आईआईएस कैसे स्थापित करूं?

यदि मैंने 5 मिनट में एप्लिकेशन का उपयोग नहीं किया है तो यह एक नया सत्र देता है। सत्र टाइमआउट 720 मिनट पर सेट है ताकि यह समस्या न हो।

क्या यह शायद एप्लिकेशन पूल में ऐसा कुछ है या ऐसा कुछ है? मुझे लगता है कि यह कुछ प्रकार का संसाधन प्रबंधन है। मैं आईआईएस 7.0

मैं सर्वर के साथ एक डोर हूं इसलिए अगर मैं यहां स्पष्ट रूप से अनुपलब्ध हूं तो कृपया मेरे साथ सहन करें।

उत्तर

8

हमें एक ऐसी वेब सेवा के साथ एक ही समस्या थी जिसे ऑनलाइन रहना पड़ा ताकि हम इसे शुरू करने में शामिल होने वाली विलंबता को बर्दाश्त नहीं कर सकें।

हमने एक बहुत ही सरल विंडोज सेवा लिखा जो हर 3 मिनट में जाग गया और एक पृष्ठ से अनुरोध किया कि वेवेन ने सुझाव दिया है। एक जादू की तरह काम किया।

+0

पूरी तरह से विंडोज सेवाओं के बारे में भूल गया, जो इसके लिए चिपक जाएगा ... अगर आपको यह पता है और इसे भेजना चाहते हैं क्योंकि मैंने वर्षों से विंडोज सेवा नहीं बनाई है :) –

+0

मुझे अपनी साइट्स के लिए स्वीकार करना होगा मैं वास्तव में एम्बेडेड .NET ब्राउज़र नियंत्रण के साथ एक न्यूनतम विनफॉर्म का उपयोग करता हूं जो कि एक txt फ़ाइल से यूआरएल की एक सूची पढ़ता है और ब्राउज़र में प्रत्येक को अनुरोध करता है – Wayne

+0

क्षमा करें, नैपस्टर। कोई नहीं कर सकता। जितना मैं चाहूंगा, वह शक्तियां जो प्रभावित नहीं होंगी। नेट के चारों ओर बहुत सारे नमूने हैं, इसलिए एक साथ रखना मुश्किल नहीं होगा। – Andrew

3

वेबसाइट पर कनेक्शन खोलने और अपने पृष्ठ का अनुरोध करने के लिए स्क्रिप्ट का उपयोग करने का सबसे आसान तरीका है। अधिक जानकारी के लिए Joel Oleson's Blog देखें।

आप प्रत्येक एक्स मिनट चलाने के लिए विंडोज शेड्यूलर का उपयोग कर सकते हैं।

यह शायद शेयरपॉइंट विशिष्ट है लेकिन आप अपनी आवश्यकताओं को अनुकूलित कर सकते हैं।

अपडेट: इस संस्करण का प्रयास करें: WarmUpServer.zip

+0

फाइलें उस ब्लॉगपोस्ट में मौजूद नहीं हैं ... अन्यथा ऐसा लगता है कि मैं क्या देख रहा था, किसी के पास एक स्क्रिप्ट है जो मेरे लिए यह कर सकती है? –

0

आवेदन पूल रीसायकल करते हैं, और वे निष्पादन समय या अनुरोध आदि की संख्या के मामले में कुछ सीमाएं, आईआईएस पर सेट किया जा सकता है कि प्राप्त करने के बाद पुनः आरंभ है।

आईआईएस 7 वास्तव में पाइपलाइन मोड में चलता है, इसलिए यह कुछ नया है जिसे हम अभी तक निश्चित रूप से नहीं जानते हैं, लेकिन आप अपने ऐप को जीवित बनाने के लिए जो कुछ भी कर सकते हैं वह किसी अन्य मशीन से ट्रिगर सेट करना है जो आपके सर्वर को प्रत्येक 5 में कनेक्ट करेगा या 10 या 60 मिनट और एक एचटीएमएल पेज लाने की कोशिश करें।

http के लिए विभिन्न सर्वर मॉनीटर भी हो सकते हैं।

+0

अच्छी तरह से हम लाइव होने के बाद इस समस्या का अनुभव नहीं करेंगे क्योंकि बहुत अधिक उपयोग होगा लेकिन फिर भी यह नरक के रूप में परेशान है ... हालांकि यह किसी अन्य सर्वर से एक पिंग स्थापित करने के लिए इतना बेवकूफ लगता है, मैं विश्वास करने से इनकार करता हूं सबसे अच्छा समाधान है :) –

+0

@napster: जब तक आप एक अलग वेब सर्वर पर स्विच नहीं करते हैं, तब तक आपको एक बेहतर समाधान खोजने की संभावना नहीं है। –

+0

"लेकिन आप अपने ऐप को जीवित बनाने के लिए कुछ अन्य मशीन से ट्रिगर सेट करने के लिए कर सकते हैं", यह कुछ अन्य मशीन क्यों है? क्या यह सर्वर मशीन पर नहीं चल सकता है? – Peter

31

आईआईएस जहां अंतराल

  1. पर अपने आईआईएस पुनरावृत्ति अपने "आईआईएस प्रबंधक" के लिए जाओ
  2. का चयन करें "अनुप्रयोग पूल" उदाहरण आप प्रबंधित करना चाहते रोक सकता गुणों में एक सुविधा है।
  3. "उन्नत सेटिंग्स" कार्रवाई का चयन करें
  4. "रीसाइक्लिंग" के तहत और "नियमित समय अंतराल" को 0 पर सेट करें, जिसका अर्थ है कि एप्लिकेशन पूल रीसायकल नहीं करता है।
+1

यह * सही * उत्तर है । हालांकि ओपी लंबे समय से चला गया है। –

+2

मेरा सेट 1740 मिनट (2 9 घंटे) पर सेट किया गया था जो [डिफ़ॉल्ट है और चूंकि आईआईएस में एप्लिकेशन पूल जोड़े गए थे] (https://weblogs.asp.net/owscott/why-is-the-iis-default- ऐप-पूल-रीसायकल-सेट-टू-1740-मिनट) इसलिए मुझे नहीं लगता कि यह हो सकता है - सवाल यह है कि यह 5 मिनट था। – MrLore

5
  1. खोलें "आईआईएस प्रबंधक"
  2. का चयन करें "अनुप्रयोग पूल" उदाहरण आप का प्रबंधन करने के
  3. "उन्नत सेटिंग"
  4. के तहत "(सामान्य)" का चयन करें और सेट चाहते हैं "प्रारंभ मोड" "AlwaysRunning" करने के लिए, जिसका अर्थ है कि एप्लिकेशन पूल एएसपी.NET एप्लिकेशन को हमेशा

पीएस चलाता है। अगर आप एएसपी चाहते हैं।नेट आवेदन स्वत: लोड हो, तो आप इस का पालन कर सकते हैं:

  1. खोलें "आईआईएस प्रबंधक"
  2. आवेदन आप का प्रबंधन करने के
  3. का चयन करें "उन्नत सेटिंग"
  4. के तहत "(सामान्य)" चाहते हैं का चयन करें और "प्रीलोड सक्षम" को "सत्य" पर सेट करें, जिसका अर्थ यह है कि आवेदक इसके तैनाती के बाद स्वचालित रूप से लोड हो जाएगा।

अधिक जानकारी के लिए, कृपया इस पर जाएँ: Use IIS Application Initialization for keeping ASP.NET Apps alive

+0

यह काम नहीं करता है जैसा आप उम्मीद करेंगे ... हमारे पास उपरोक्त समस्या है और यह वह जगह है जहां मैंने शुरू किया था। – War

0

आईआईएस पूल को विन्यस्त पर विफल होने के बाद। मैं इस सरल विंडोज सेवा के साथ बाहर आ गया। github code

यह आपके कुछ मिनटों को बचा सकता है।

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