2010-08-11 8 views
17

एएसपी.नेट एमवीसी अनुप्रयोग वेब-फार्म तैयार करने का सबसे प्रभावी तरीका क्या होगा।एक एएसपी.नेट एमवीसी एप्लीकेशन वेब फार्म तैयार करें

सबसे महत्वपूर्ण रूप से मौजूदा उपयोगकर्ता की जानकारी (संदर्भ) साझा करना और (इतना महत्वपूर्ण नहीं) कैश ऑब्जेक्ट्स जैसे लुक-अप आइटम (स्टेट्स, स्ट्रीट टाइप, काउंटी इत्यादि) साझा करना।

मैंने मेमकैच के बारे में सुना/पढ़ा है लेकिन इसे कार्यान्वित करने और परीक्षण करने के तरीके पर एक सरल लागू तरीका (दस्तावेज़ीकरण) नहीं देखा है।

उत्तर

21

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

सत्र
आप TempData शब्दकोश का उपयोग करते हैं जैसा कि आप जानते हैं कि यह Session शब्दकोश अंदर संग्रह किया गया है किया जाना चाहिए। एक सर्वर फार्म में इसका मतलब है कि आपको इनप्रोक सत्रों के मुकाबले अन्य साधनों का उपयोग करना चाहिए, क्योंकि उन्हें खेत में आईआईएस सर्वर के बीच साझा नहीं किया जाता है। आपको अन्य सत्र प्रबंधकों को कॉन्फ़िगर करना चाहिए जो या तो डीबी या अन्य (राज्य सर्वर इत्यादि) का उपयोग करते हैं।

कैश
जब कैश की बात आती है तो यह एक अलग कहानी है। जितना संभव हो उतना कुशल कैश बनाने के लिए इसे भी किया जाना चाहिए। डिफ़ॉल्ट रूप से यह नहीं है। लेकिन कैश को देखते हुए इसका मतलब यह नहीं है कि जब कोई कैश नहीं होता है तो इसे कैश में पढ़ा और संग्रहीत किया जाना चाहिए। तो यदि किसी विशेष सर्वर फार्म सर्वर में कुछ कैश ऑब्जेक्ट नहीं है तो यह इसे बनाएगा। समय में वे सभी कुछ साझा सार्वजनिक रूप से इस्तेमाल किए गए डेटा को कैश करेंगे।
या ... आप जैसे पुस्तकालयों का उपयोग कर सकते हैं memcached (जैसा कि आपने इसका उल्लेख किया है) और साझा कैश का लाभ उठाएं। इसका उपयोग कैसे करें नेट पर कई उदाहरण हैं।

लेकिन ये समाधान सभी चीजों के अतिरिक्त ओवरहेड (जैसे नेटवर्क और तीसरी प्रक्रिया प्रसंस्करण और डेटा लाने आदि) लाते हैं यदि कुछ और नहीं। तो डिफ़ॉल्ट कैश सबसे तेज़ है और यदि आपको स्पष्ट रूप से साझा कैश की आवश्यकता है तो एक के लिए निर्णय लें। वास्तव में आवश्यक होने तक कैश साझा न करें।

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