2013-01-18 11 views
5

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

  • वेब सर्वर IIS7/ASP.NET हैं 4.
  • हम वर्तमान में नहीं सेटअप एक अलग सत्र स्थिति सर्वर कर सकते हैं और लेग पर चिपचिपा सत्र का उपयोग की वजह चाहिए

जहां तक ​​मैं समझता हूँ, निम्नलिखित आश्वासन दिया जाना चाहिए:

  • सेट एक ही machinekey दोनों वेब सर्वर पर।
  • प्रीकंपील्ड साइट्स का उपयोग करें ताकि असेंबली दोनों मशीनों पर समान नामकरण प्राप्त कर सकें।
  • हम या तो आईपी संख्या या कुकी (उत्तरार्द्ध पसंद है)

यह आवश्यक है पर चिपचिपा सत्र का आधार precompiled साइट देखना चाहिए? (मुझे पता है कि यह तेज है, लेकिन हम कुछ लचीलापन खो देते हैं)

चूंकि हमारे पास चिपचिपा सत्र हैं, क्या यह सही है कि एक ही मशीनकी केवल उन मामलों को प्रभावित करती है जब उपयोगकर्ता का सत्र समाप्त हो जाता है और इसलिए वह दूसरे पर समाप्त होता है सर्वर (जिसका अर्थ है कि एक पोस्ट बैक युक्त व्यू स्टेटस वैध नहीं हो सकता है जब तक कि उनके पास एक ही मशीन कुंजी न हो?)

उत्तर

6

आप सभी बिंदुओं पर सही हैं - एलबी पर चिपचिपा सत्र यह सुनिश्चित करेंगे कि उसी वेब सर्वर को बाद के अनुरोधों पर हिट किया जाएगा और इसलिए सही इन-प्रो सत्र राज्य उपलब्ध होगा। हालांकि, यह अनिवार्य है कि एलबी चिपचिपापन एएसपी.NET सत्र के समय-बाहर मूल्य के साथ मिलना चाहिए (या अधिक होना चाहिए)। उदाहरण के लिए, यदि एलबी चिपचिपापन के लिए कुकी का उपयोग कर रहा है तो कुकी समाप्ति समय ASP.NET सत्र की तुलना में अधिक होना चाहिए।

वही मशीन-कुंजी तर्क उन मामलों के लिए उपयोगी है जहां अनुरोधों के लिए पोस्ट बैक किसी भी कारण से अन्य सर्वर पर जाते हैं। क्लाइंट साइड स्टेट (जैसे व्यू-स्टेट और इवेंट सत्यापन, शायद प्रमाणीकरण टिकट) मशीन कुंजी के साथ एन्क्रिप्ट किया जाता है, इसलिए एक ही कुंजी यह सुनिश्चित करती है कि कोई भी सर्वर पोस्ट-बैक की सेवा कर सके। साइड नोट पर, सभी वेब फार्म परिदृश्यों में, यह किसी भी आश्चर्य से बचने के लिए सभी वेब सेवर्स पर सटीक एस/डब्ल्यू पर्यावरण (और संभव एच/डब्ल्यू पर्यावरण) रखने के लिए 100% समझ बनाता है।

सीरियलाइज़ेशन विवादों से बचने के लिए वेब साइटों के पूर्व-संकलन की आवश्यकता है - क्रमशः क्रमबद्ध/deserialize के दौरान नामों को समान होना चाहिए। इसलिए आपके पास गतिशील रूप से जेनरेट की गई असेंबली से क्रमबद्ध प्रकार नहीं हो सकते हैं और प्रति-संकलन इससे बचा जाता है। आईएमओ, यह सत्र स्थिति के बजाय दृश्य-राज्य भंडारण को प्रभावित करने की अधिक संभावना होगी (क्योंकि आपका सत्र राज्य किसी भी तरह से साझा नहीं किया गया है और दूसरे सर्वर पर उपलब्ध नहीं होगा)। अंत में, यदि आप वेब साइट्स का उपयोग नहीं कर रहे हैं और वेब एप्लिकेशन प्रोजेक्ट्स का उपयोग नहीं कर रहे हैं तो यह बिंदु कम या ज्यादा अप्रासंगिक हो जाएगा क्योंकि परियोजनाओं के निर्माण के दौरान कोड फाइलों का पालन किया जाएगा। केवल पेज (मार्कअप) गतिशील रूप से अनुपालन किया जाएगा और मार्कअप में क्रमिक प्रकारों की संभावना लगभग शून्य है (और वैसे भी खराब विचार की तरह लगता है)।

+0

बहुत बढ़िया जवाब! बहुत धन्यवाद! – Sten

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