2009-11-25 16 views
5

है दोस्तों, मेरी वेबसाइट में हजारों उपयोगकर्ता हैं ... मैंने दिन में एक बार प्रत्येक उपयोगकर्ता को मेल भेजने का पृष्ठभूमि कार्य लागू किया है ... मैंने ऐसा करने के लिए इस लिंक का पालन किया। ..global.asax में अनुप्रयोग_स्टार्ट() ईवेंट

http://www.codeproject.com/KB/aspnet/ASPNETService.aspx

मेरा प्रश्न Application_Start() मेरी वेबसाइट से टकराने के प्रत्येक उपयोगकर्ता के लिए निकाल दिया जाता है जाएगा जाएगा ... इसलिए प्रत्येक उपयोगकर्ता दैनिक मेल की एक संख्या प्राप्त होगा यदि ऐसा है तो मैं इसे से बचना चाहते हैं ..

उत्तर

15

एप्लिकेशन_स्टार्ट और एप्लिकेशन_इंड विधियां विशेष विधियां हैं जो एचटीपी अनुप्रयोग घटनाओं का प्रतिनिधित्व नहीं करती हैं। एएसपी.नेट उन्हें एक बार एप्लिकेशन डोमेन के जीवनकाल के लिए बुलाता है, प्रत्येक एचटीपी अनुप्रयोग उदाहरण के लिए नहीं।

तो जब पहला उपयोगकर्ता साइट खोल देगा तो यह application_start विधि को हिट करेगा, इसके बाद यह नहीं होगा।

मैं जो जोड़ रहा हूं वह जोड़ना जोखिम भरा है। यदि आप बैच ईमेल भेजना चाहते हैं तो आप शेड्यूलर के बारे में सोचना चाहेंगे जो प्रतिदिन ईमेल भेज सकता है।

+0

हाय वेड मैं साझा होस्टिंग पर हूं, वे शेड्यूलर –

+0

की अनुमति नहीं देंगे हाय मैंने हाल ही में वेबसाइट पर "हमेशा चालू" साइट को परिवर्तित करके वेबसाइट पर चल रहे बैकग्राउड कार्यों को लागू किया है। ऐसा करने के लिए एप्लिकेशन पूल में एक सेटिंग है। आप उस जवाब में देखना चाहते हैं कि – Zeus

2

एप्लिकेशन_स्टार्ट केवल तब चलता है जब पहला व्यक्ति साइट पर जाता है और जब ऐप_पूल रीफ्रेश होता है।

यह साइट पर हर हिट पर नहीं होता है।

आप कार्यों को शेड्यूल करने के लिए क्रॉन-जैसी प्रणाली के लिए http://www.webcron.org/ जैसे कुछ सोचना चाहेंगे।

+0

शायद ओपी _BeginRequest के बारे में सोच रहा है? –

+0

हाय जॉन, मैं साझा होस्टिंग पर हूं इसलिए मैं शेड्यूलर का उपयोग नहीं कर सकता ... क्या यह कैश आइटम कॉलबैक का उपयोग करना सुरक्षित है और मेरे उपयोगकर्ताओं के लिए एड में एक बार मेल भेजता है –

+0

कैश आइटम कॉलबैक पर भरोसा नहीं किया जा सकता है, कैश को समय-समय पर समाप्त हो सकता है क्योंकि ऐप को मेमोरी या कुछ चाहिए, अगर मैं आप थे तो मैं शायद http://www.webcron.org/ या इसी तरह की साइट का उपयोग करने की कोशिश करूंगा। –

0

यह प्रत्येक आगंतुक के लिए राज्य को संग्रहीत करने के लिए Application_BeginRequest प्लस डीबी पर होना चाहिए। लेकिन सबसे उपयुक्त शेड्यूलर पर है।

+0

है jerjer आपके उत्तर के लिए धन्यवाद –

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