2008-09-03 13 views
12

जेफ ने पहले अपनी वेबसाइटों पर "बैंड से बाहर" प्रसंस्करण करने के लिए using the cache ब्लॉग किया है, हालांकि मैं सोच रहा था कि इस तरह के कार्यों को संसाधित करने के लिए लोग कौन सी तकनीकों का उपयोग कर रहे हैं?"आउट ऑफ़ बैंड" एएसपीनेट अनुप्रयोगों के लिए प्रसंस्करण टेकिनिक्स

उत्तर

7

साल पहले, मैंने देखा कि रॉब हॉवर्ड पृष्ठभूमि में कार्यों को संसाधित करने के लिए एक HttpModule का उपयोग करने का एक तरीका बताता है। यह कैश का उपयोग करने के रूप में चिकना प्रतीत नहीं होता है, लेकिन यह कुछ परिस्थितियों के लिए बेहतर हो सकता है।

This blog post में विवरण हैं, और कई अन्य हैं जो समान जानकारी प्राप्त करते हैं यदि आप चारों ओर देखते हैं।

0

अनुसूचित कार्य, या क्रॉन नौकरियां।

1

यदि यह मुख्य रूप से डेटा प्रोसेसिंग कार्य है और आप MSSQL का उपयोग कर रहे हैं, तो निर्धारित एसएसआईएस कार्यों के बारे में कैसे?

0

अनुसूचित कार्यों या क्रॉन नौकरियों के साथ समस्या यह है कि वे वेब सर्वर के साथ मेमोरी स्पेस साझा नहीं करते हैं। आप एक निर्धारित कार्य सेट अप कर सकते हैं जिसने वेब सर्वर से पृष्ठों का अनुरोध किया है, लेकिन यह लंबे समय तक चलने वाले कार्यों के साथ समस्याएं पैदा कर सकता है। वास्तविक एएसपी.Net एप्लिकेशन स्टैक पर कुछ कम प्राथमिकता वाले धागे चलाना अच्छा होगा, जैसे कि कैश की सफाई, संसाधनों की निगरानी, ​​और सामान्य हाउसकीपिंग से निपटने के लिए सरल उपयोगिता कार्यों को करने के लिए।

3

आप यह देखना चाहते हैं कि DotNetNuke यह कैसे करता है। मुझे पता है कि यह वीबीएनईटी में लिखा गया है, लेकिन मैंने कोड को सी # में दोबारा हटा दिया। मैं स्रोत पर विचार कर रहा था और देखा कि उनके निर्धारित क्षेत्र को निर्धारित करने के लिए उनके व्यवस्थापक क्षेत्र में उनकी सुविधा थी। ये कार्य व्यवस्थापक इंटरफ़ेस के माध्यम से सेटअप प्राप्त करते हैं और डेटाबेस में संग्रहीत होते हैं। जब साइट शुरू होती है, तो Global.asax फ़ाइल के माध्यम से, उन्होंने या तो इस सेवा को चलाने के लिए एक और धागा बनाया है जो उसके निर्धारित समय पर शेड्यूल किए गए कार्यों को चलाता है। मुझे सटीक तर्क याद नहीं है, यह थोड़ी देर हो गया है, लेकिन यह निश्चित रूप से एक अच्छा संसाधन है कि अन्य लोगों ने Asp.Net अनुप्रयोगों के लिए बैंड प्रक्रियाओं से कैसे किया है। यह तकनीक अभी भी एएसपी.Net एप्लिकेशन के भीतर तर्क रखती है, लेकिन यह मेरी राय में बैंड से बाहर हो जाती है।

0

एक अलग एजेंट के साथ सरल कतार फाइलें। प्रत्येक प्रकार की बैंड प्रक्रिया के लिए एक अलग एजेंट लिखें .exe जो कतार फ़ाइलों के लिए एक निर्देशिका देखता है जिसमें निर्दिष्ट प्रक्रिया को करने के लिए जो भी डेटा आवश्यक है शामिल है।

यह गंदा प्रतीत हो सकता है लेकिन वास्तविक दुनिया में मुझे लगता है कि यह बहुत लचीलापन देता है, आप एएसपीनेट प्रक्रिया अंतरिक्ष में बहुत अधिक प्रसंस्करण नहीं कर रहे हैं और आप आसानी से इस शैली को कृषि प्रसंस्करण के लिए सस्ते में अनुकूलित कर सकते हैं जब आप अधिक रैम/सीपीयू/डिस्क की आवश्यकता शुरू करते हैं तो लिनक्स सर्वर मोनो पर एजेंट प्रक्रिया चला रहे हैं।

0

यदि आप एएसपीनेट पृष्ठों के साथ सबसे अधिक आरामदायक हैं तो आप अपनी नौकरी को संभालने के लिए एक छोटा ऐप लिख सकते हैं और फिर अपनी वेबसाइट पर नज़र रखने वाली बाहरी सेवा के साथ ऐप को "पिंग" कर सकते हैं। यह ऐप को जिंदा रखेगा।