मैं आईआईएस 7 डब्ल्यूएएस में आयोजित डब्ल्यूसीएफ एमएसएमक्यू सेवा के लिए एक अनुरोध पोस्ट करूंगा। an awesome article इसे कैसे सेट अप करें।
बाह्य संसाधनों का उपयोग करके लंबे समय तक चलने वाले कार्यों में विफलता का उच्च जोखिम होता है। सबसे बड़ी गलती डेवलपर्स अक्सर यह मानते हैं कि हार्डवेयर और नेटवर्क की असीमित क्षमता है और वे बहुत विश्वसनीय हैं। यह अक्सर नहीं होता है।
यह समस्याग्रस्त, यहां तक कि आपदाजनक भी हो सकता है, यदि लंबे समय तक चलने वाली प्रक्रिया नेटवर्क कनेक्टिविटी के क्षणिक रूप से हानि या रिमोट सर्वर को रीबूट किया गया है तो बाधित हो सकती है। यदि आपकी लंबी चलती प्रक्रिया में अतिरिक्त प्रसंस्करण शामिल है, जैसे फ़ाइल को अनजिप करना, या इसका विश्लेषण करना, तो प्रसंस्करण करने के लिए पर्याप्त स्मृति नहीं होने पर आप विफलता का और जोखिम चला सकते हैं। उपयोगकर्ता बहुत से अनुरोध सबमिट कर सकते हैं और समवर्ती मुद्दों को संभालने के लिए पर्याप्त संसाधन उपलब्ध नहीं हैं। यदि आप अपने एएसपी.नेट एमवीसी अनुप्रयोग को async controllers के माध्यम से प्रसंस्करण करते हैं, तो आप आश्चर्यचकित हो सकते हैं जब आईआईएस कामकाजी प्रक्रिया को फिर से चलाता है जब आपकी लंबी चल रही प्रक्रिया बाधित होती है।
एमएसएमक्यू 4 इन जोखिमों को कम करने के लिए एक बेहतर काम करता है। अगर प्रक्रिया विफल हो जाती है, तो आप इसे छोड़ने से पहले दो बार पुनः प्रयास कर सकते हैं। आप here को सेट अप करने के तरीके सीख सकते हैं। आप ऐसे मामले को संभालने के लिए application specific deadletter queues का उपयोग कर सकते हैं जहां कई स्वीकार्य प्रयासों के बाद प्रक्रिया विफल रही। परिचालन कर्मचारियों के लिए मुद्दों का निदान करना महत्वपूर्ण है। आप इस योजना का उपयोग ईमेल के माध्यम से किसी उपयोगकर्ता को सूचित करने के लिए भी कर सकते हैं कि प्रक्रिया विफल हुई (या सफल हुई), भले ही मशीन से अनुरोध किया गया हो।
विंडोज़ सेवा के बजाए आईआईएस में इसे होस्ट करना अतिरिक्त क्षमताओं की पेशकश करता है। उदाहरण के लिए, आईआईएस कार्यकर्ता प्रक्रिया को पुनर्नवीनीकरण किया जा सकता है, इसे डेडलॉक या स्मृति सीमा से अधिक होना चाहिए। उत्तरार्द्ध एक मुद्दा हो सकता है जब आप प्रसंस्करण करने के लिए कुछ देशी कोड का उपयोग कर रहे हैं। आप इसे हर चार रीसायकल कर सकते हैं (अपना टाइमफ्रेम चुनें) घंटे। बाद में प्रबंधित स्मृति की बड़ी ब्लॉब्स के साथ काम करते समय बाद में महत्वपूर्ण है क्योंकि समय के साथ बड़े ऑब्जेक्ट हेड इतने खंडित हो जाते हैं कि किसी अन्य बड़े अनुरोध के लिए पर्याप्त स्मृति आवंटित करना लगभग असंभव हो जाता है। आप पाते हैं कि Windows सेवा में होस्ट की गई डब्ल्यूसीएफ सेवा इस समस्या का सामना कर सकती है।
असल में यह इस बात पर निर्भर करता है कि आप पृष्ठभूमि प्रक्रिया को कितना विश्वसनीय चाहते हैं। यदि नहीं, डब्ल्यूसीएफ, एमएसएमक्यू और आईआईएस का उपयोग करना अधिक हो सकता है।
एमवीसी 3 के लिए, मेरा एमएसडीएन आलेख देखें: http://msdn.microsoft.com/en-us/library/ee728598(VS.98).aspx यदि आप एमवीसी 4 और डेवलपर एक्सप्रेस 11 का उपयोग कर सकते हैं, तो मैं हूं एक नया Async/एमवीसी ट्यूटोरियल लिखना जो बहुत आसान है। – RickAndMSFT