2009-02-05 8 views
5

मैं एक छोटी वेबसाइट बनाने का इरादा रखता हूं जो हर 15 मिनट में एक तीसरे पक्ष की वेब सेवा का चुनाव करेगा, एकत्रित डेटा को डीबी में संग्रहीत करेगा और परिणामों को वेब पृष्ठों के माध्यम से प्रदर्शित करेगा।मैं एक थ्रेड कैसे बना सकता हूं जो किसी .NET वेबसाइट में पृष्ठभूमि में हर समय चलता है?

मैं चाहता हूं कि मतदान दिन में 24 घंटे चलने के बिना या किसी भी वेबसाइट पर जाये।

मुझे पता है कि मैं एक स्टैंड स्टैंड अकेले एप्लिकेशन बना सकता हूं जो सर्वर पर ऐसा करने के लिए चला सकता है लेकिन वेबसाइट कोड में इसे शामिल करने का एक साफ तरीका है। मुझे ऐसा कुछ चाहिए जो एक चीप 3 पार्टी होस्टिंग साइट पर तैनात करना आसान होगा।

सही दिशा में किसी भी पॉइंटर्स का स्वागत किया जाएगा।

धन्यवाद

उत्तर

5

अपनी वेबसाइट प्रोजेक्ट में वैश्विक.एक्सएक्स फ़ाइल जोड़ें।

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

आप यहां अपने धागे को आग लग सकते हैं।

इसके अतिरिक्त, मैं अनुशंसा करता हूं कि आप धागे को पृष्ठभूमि में सेट करें ताकि आप अपना वेब ऐप बंद करते समय उन्हें असंतुष्ट कर सकें।

System.Threading.Thread.CurrentThread.IsBackground = true; 
+0

क्या वह थ्रेड स्वचालित वेब सर्वर हाउसकीपिंग (थ्रेड/प्रोसेस रीसाइक्लिंग) से प्रभावित होगा? – Tomalak

+0

यदि प्रक्रिया पुनर्नवीनीकरण की जाती है, तो टीएच अनुप्रयोग पुनरारंभ होने पर थ्रेड ट्रिगर होगा। – Spence

+0

उत्तर के लिए धन्यवाद। ऐसा लगता है कि चीप तृतीय पक्ष होस्टिंग का उपयोग करते समय एक सही समाधान उपलब्ध नहीं है लेकिन यह मेरे उद्देश्य के लिए काम करना चाहिए। – Magpie

3

आपको आदर्श रूप से ऐसा करने के लिए एक विंडोज सेवा बनाने की आवश्यकता है। एप्लिकेशन स्टार्टअप से थ्रेड बनाने का दूसरा सुझाव ठीक है जब तक कि आप वेब सर्वर रीबूट नहीं हो जाते।

उस बिंदु पर आपका पृष्ठभूमि कार्य तब तक नहीं लाया जाएगा जब तक कि अगला व्यक्ति साइट पर नहीं जाता। विंडोज सेवा के साथ ही सर्वर बूट होने पर पृष्ठभूमि कार्य फिर से चलना शुरू हो जाएगा।

http://www.codeproject.com/KB/system/WindowsService.aspx

आप निश्चित रूप से करने के लिए चलाने के लिए कुछ हो रही द्वारा अन्य समाधान ठगना सकता:

.net का उपयोग कर एक Windows सेवा बनाना काफी सीधे आगे, निश्चित रूप से बहुत आसान .net से पहले की तुलना में यह किया गया है सर्वर बूट के बाद अपनी वेबसाइट पर हिट करें, लेकिन यह हैकी है और "उचित" तरीका विंडोज सेवा है।

संपादित करें:

कि मुझे सिखाने जाएगा सवाल ठीक से पढ़ने के लिए, एक सस्ते साझा मेजबान पर काम करने के बारे आवश्यकता स्पॉट नहीं किया। दूसरा समाधान शायद सबसे अच्छा है कि आप उस मामले में उम्मीद कर सकते हैं क्योंकि विंडोज सेवा दृष्टिकोण लगभग निश्चित रूप से संभव नहीं है।

+0

उत्तर के लिए धन्यवाद। हालांकि मेरी समस्या के लिए लागू नहीं है, फिर भी आपने कुछ बहुत ही उपयोगी जानकारी प्रदान की है। – Magpie

+0

क्या यह संभव है कि विंडोज सेवा ने एएसपी.NET ऐप के भीतर एक सेटिंग अपडेट की हो, जबकि दोनों चल रहे हों? –

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