2010-07-14 7 views
6

में शेड्यूलिंग कार्यों (विंडोज़ शेड्यूलर लिखने के बिना) के तरीके मैं साझा होस्टिंग में हूं और वे मुझे विंडोज शेड्यूलर का उपयोग करने की अनुमति नहीं देते हैं ... तो अनुसूचित कार्यों को प्राप्त करने के तरीके अर्थात (समयबद्ध मेल) asp.net ... मैंने जेफ एटवुड ब्लॉग द्वारा background process देखा ... क्या यह विश्वसनीय है? या अनुसूचित कार्यों को करने के किसी भी अन्य तरीके ...एएसपीनेट

फिर मुझे quartz.net मिला, लेकिन मुझे एक सरल उदाहरण नहीं मिल रहा है जो quartz.net को asp.net (में एक स्टैंडअलोन के रूप में Quartz.Net सर्वर स्थापित किए बिना एम्बेड करता है खिड़कियों सेवा) ... quartz.net पर कोई भी सुझाव ...

+3

http://stackoverflow.com/questions/3243400/how-to-do-background-processing-similar- टू-ऑन-ऑन-स्टैक ओवरफ्लो ... आपने यहां एक ही प्रश्न पूछा ... – RameshVel

+0

यह आपके अन्य प्रश्न का डुप्लिकेट नहीं है? –

+0

आखिर में आप किस समाधान के लिए पहुंचे?मेरे पास एक ही आवश्यकता है, लेकिन समस्या यह है कि जब App पूल पुनरारंभ होता है तो Quartz.net काम करना बंद कर देता है :( –

उत्तर

1

मैं एक ही चीज़ प्राप्त करने के लिए Microsoft.Web.Administration assembly Schedule Class की जांच कर रहा था लेकिन ऐसा लगता है कि कक्षा का उपयोग केवल आईआईएस कार्यकर्ता प्रक्रिया को पुनरारंभ करने के लिए किया जा सकता है, यहां example of creating app pools and setting periodical restart है।

तो एएसपी.NET ऐप पुनरारंभ करने के साथ ही शेड्यूल करना था और फिर एप्लिकेशन_स्टार्ट में निर्धारित कार्य करें। लेकिन यह बदसूरत हैक समाधान नहीं है, इसलिए अंत में मैंने अपने होमग्राउंड बैकअप विंडोज सेवा में शेड्यूलिंग क्षमताओं को जोड़ना शुरू कर दिया जो पहले से ही वेब सर्वर पर चल रहा था, इसलिए आईएमओ क्वार्ट्ज.net आपके लिए सबसे अच्छा समाधान है। हो सकता है कि आप अपने वेब प्रदाता को Quartz.net इंस्टॉल करने के लिए मना सकें, अन्य सभी समाधान एक हैक की तरह दिखते हैं जो आपको कम या ज्यादा समस्याएं देगा।

0
+0

-1 एएसपी.NET प्रक्रिया में इसे कैसे होस्ट किया जा रहा है? –

+0

इससे आपकी मदद हो सकती है: http: // www। codeproject.com/KB/dotnet/ABTransClockArticle.aspx?msg=1990168#xx1990168xx या अपडेट लिंक 2 –

+0

पांड्या की मदद नहीं करेगा। एक होस्टर जो आपको विंडोज शेड्यूलर चलाने नहीं देगा, वह शायद ही कभी अलग विंडोज सेवाओं को स्वीकृति दे रहा है। –

3

आप coul डी बस एक एएसपी.Net पृष्ठ लिखें जो आपका कार्य करता है, उदा। मेल भेजना फिर शेड्यूल पर अपने सर्वर पर पृष्ठ के यूआरएल को कॉल करने के लिए SetCronJob जैसी ऑनलाइन शेड्यूलिंग सेवा का उपयोग करें।

इस बहुत ही सरल दृष्टिकोण का नकारात्मक पक्ष यह है कि आप बाहरी सेवा पर निर्भर हैं।

+0

क्या मैं भरोसा कर सकता हूं यह ... क्योंकि मेरा आवेदन अनुसूचित मेल अवधारणा पर आधारित है ... –

+0

बिल्कुल सही! बिल्कुल मुझे जो चाहिए, सबसे खराब स्थिति परिदृश्य मैं बैकअप के रूप में अपनी मशीन से चल रही कुछ सचमुच सरल चीज़ बनाउंगा। – mhenrixon

0

आप this से विचार ले सकते हैं और अपना कार्य KeepAlive विधि में डाल सकते हैं। आशा है कि! यह मदद करता है।

0

मुझे यह बहुत ही समस्या नहीं थी, और तीसरे पक्ष की सेवा का उपयोग करने से कम, इसके आसपास कोई शानदार तरीका नहीं है।

उसने कहा, मैंने 24 घंटे के समाप्ति समय के साथ .NET अनुप्रयोग कैश ऑब्जेक्ट का उपयोग किया था।

Cache["DailyTask"] = true; 

तब मेरे आधार पृष्ठ वर्ग में, हर एक पृष्ठ का अनुरोध किया गया था, मुझे लगता है कि चर का मौजूदा के लिए जाँच की, और मौजूदा, मैं काम भाग गया। इसका नकारात्मक पक्ष यह है कि आप अपने आवेदन में किए गए पेज अनुरोधों पर निर्भर हैं।

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

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

  • कोई संबंधित समस्या नहीं^_^