2009-11-30 13 views
6

इसलिए मैंने SQL सर्वर 2008 और SQL डेटाबेस का उपयोग कर SQL सर्वर सत्र स्थिति सेट अप की है और आज मैंने केवल एएसपीस्टेट टेम्पम्प्लिकेशंस तालिका में इसे खोजने के लिए तालिका में डेटा देखने का निर्णय लिया है :एसक्यूएल सर्वर सत्र राज्य, वेब फार्म, और आईआईएस कॉन्फ़िगरेशन

AppId AppName
538,231,025/LM/W3SVC/1/रूट
611,758,131/LM/W3SVC/3/जड़
802,488,340/LM/W3SVC/4/जड़
-+९४००८५०६५/LM/W3SVC/4/रूट/वेबएप
685293685/एलएम/डब्ल्यू 3 एसवीसी/5/रूट
1210055478/एलएम/डब्ल्यू 3 एसवीसी/5/रूट/वेबएप

हमारे पास 2 लोड संतुलित वेब सर्वर हैं।

जब मैं दोनों सर्वरों के वेब ऐप्स के आईडी को देखता हूं तो मुझे लगता है कि वेब 1 में आईडी 4 के साथ एप 1 है और वेब 2 में आईडी 5 के साथ एप 1 है। वही बात अन्य ऐप के साथ होती है। वेब 1 में 1 की आईडी के साथ एप 2 है और वेब 2 में ऐप 2 है।

मेरा सामान्य ज्ञान मुझे बताता है कि वेब सर्वर सत्र साझा नहीं कर रहे हैं क्योंकि सत्र आईडी एपिड का उपयोग करती है। क्या मैं सही हूँ? यदि ऐसा है तो दस्तावेज में इतना मामूली विस्तृत क्यों नहीं है? क्या मुझे दोनों वेब सर्वरों पर आईडी बनाना चाहिए?

उत्तर

6

ऐपआईड का उपयोग सत्र आईडी के निर्माण के दौरान किया जाता है, ताकि एक ऐप से टकराव से बचने में मदद मिल सके। यह आईआईएस ऐप पथ के हैश की गणना करके बनाया गया है।

  1. सर्वर A को एक सत्र आईडी बनाता है एक कुकी में यह सेट करता है, और दुकानों इसी सत्र में कुछ डेटा (ASPStateTempSessions में एक पंक्ति):

    अपने वातावरण में, प्रवाह कुछ इस तरह हो सकता है। सत्र आईडी कॉलम एपआईडी के साथ सत्र आईडी को जोड़कर बनाया गया है।

  2. सर्वर बी को पूर्व-मौजूदा सत्र आईडी के साथ अनुरोध प्राप्त होता है, और ASPStateTempSessions तालिका से संबंधित सत्र डेटा खोजने के लिए इसका उपयोग करता है। यदि ऐप आईडी अलग है, तो जेनरेट की गई कुंजी भी अलग होगी।

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

+0

+1 अच्छा स्पष्टीकरण। – Saar

+0

इस आलेख के अनुसार: http://msdn.microsoft.com/en-us/library/aa478952.aspx ASPStasteTempSessions तालिका का सत्र आईडी सत्र आईडी + एप्लिकेशन आईडी है। आप कितने निश्चित हैं कि एएसपी.नेट संदर्भ के सत्र आईडी को बदलता है और सर्वरों में इसका उपयोग करता है? –

+0

मैंने अभी फिडलर और एसएसएमएस के साथ सत्यापित किया है कि ऐपआईडी वास्तव में सत्र आईडी के अंत में ASPStateTempSessions तालिका में कुंजी के रूप में समेकित है। मैंने तदनुसार अपना जवाब अपडेट कर लिया है। – RickNZ

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