नहीं है जब एक ग्राहक सत्र एक ASP.NET MVC2 आवेदन मुझे लगता है एक धागा पूल से एक विशेष बात यह है कि अनुरोध हैंडल करने के लिए स्थापित किया गया है, यह करने के लिए एक निश्चित जवाब खोजने के लिए सक्षम किया गया। क्या वही धागा हमेशा उस सत्र के बाद के सभी अनुरोधों को संभालता है? तो सिद्धांत रूप में यदि किसी भी तरह से सत्र आईडी गड़बड़ हो गई थी और गलत धागा उठाया गया तो कोई भी सत्र स्तर डेटा गायब होगा? धन्यवादसत्र और धागे
उत्तर
सं प्रत्येक अनुरोध एक अलग धागा द्वारा नियंत्रित किया जा सकता है। इसका मतलब है कि किसी पृष्ठ पर विभिन्न संसाधनों को विभिन्न धागे से नियंत्रित किया जा सकता है। या वे एक ही पर संभाला जा सकता है। यह कार्यकर्ता प्रक्रिया पर निर्भर करता है और यह पता लगाने के लिए कि क्या यह एक नया धागा बनाने के लिए उपयुक्त है या एक उपलब्ध होने तक प्रतीक्षा करने के लिए बेहतर है।
पेज एक थ्रेड द्वारा प्रदान की गई किया जाएगा और फिर छवियों, शैली शीट्स और javascripts एक ही या अन्य धागे पर संभाला जा सकता है। यह सामान्य रूप से स्टेटस प्रकृति ओएस एएसपी.नेट और वेब प्रोग्रामिंग के लिए मौलिक है। यह आपको अलग-अलग सर्वरों या यहां तक कि अलग-अलग डोमेन पर अपने सभी अनुरोधों को संतुलित करने के बावजूद करने की अनुमति देता है।
यह हमें सत्र राज्य के बारे में आपके प्रश्न पर लाता है। आपको अनुरोधों के बीच सत्र आईडी खोना नहीं चाहिए। यदि आप हैं, तो कुछ गंभीर गलत है। या आप एक वेब फार्म/क्लस्टर स्थिति में हो सकते हैं जहां एक अनुरोध एक सर्वर पर जा रहा है और अगली किसी अन्य प्रकार के लोड संतुलन के माध्यम से दूसरे को भेजा जाता है।
एक लोड संतुलित स्थिति में आप सत्र स्थिति बने के कुछ साधन करना होगा। दो सबसे आम दृष्टिकोण डेटाबेस और एक वितरित कैश में सहेजे जा रहे हैं। बाद में मेरा पसंदीदा दृष्टिकोण है क्योंकि सत्र डेटा अपनी प्रकृति से एक अस्थायी चीज है और यह लगातार डीबी में नहीं है।
संक्षेप में, नहीं, नहीं के तहत आईआईएस (मैं "कैसिनी" दृश्य स्टूडियो में वेब विकास सर्वर समर्थन नहीं कर सकता, लेकिन मैं भी वहाँ पर शक)
आप निम्न को जोड़कर बदलते धागा प्रदर्शित कर सकते हैं एक दृश्य के लिए:
<%= System.Threading.Thread.CurrentThread.ManagedThreadId %>
अब बार-बार अपने ब्राउज़र से पेज मारा (या शायद 2 या 3 ब्राउज़र से यह हिट) और आप इसे समय-समय पर परिवर्तन देखेंगे। इस जैसे एक साधारण परिदृश्य में, आप अक्सर समान थ्रेड अनुरोध सर्विसिंग के रूप में इसके लायक ASP.NET अधिक धागे बनाने की तुलना में इसकी आवश्यकता नहीं है देख सकते हैं, लेकिन एक बार आप सर्वर लोड हो रहा है शुरू -
कहा करने के बाद कि , आप एकाधिक धागे देखेंगे।
- 1. कई धागे में स्प्रिंग + हाइबरनेट सत्र प्रबंधन
- 2. क्यों स्टेटलेस सत्र सेम एकल धागे हैं?
- 3. कांटा और मौजूदा धागे?
- 4. WCF धूमकेतु और धागे
- 5. जावा - धागे और सीपीयू
- 6. वृक्ष संरचनाएं और धागे
- 7. सिंक्रनाइज़ धागे और लॉकिंग
- 8. पॉज़िक्स धागे और सिग्नल
- 9. एकाधिक धागे और मेमोरी
- 10. कचरा संग्रह और धागे
- 11. एरलांग एनआईएफ और धागे
- 12. OpenMP और कोर/धागे
- 13. Process.waitFor(), धागे, और InputStreams
- 14. नेट ThreadPool कार्यकर्ता धागे और अतुल्यकालिक आईओ धागे
- 15. कर्नेल धागे और उपयोगकर्ता धागे के बीच क्या अंतर है?
- 16. javafx, सॉकेट प्रोग्रामिंग, और धागे
- 17. दो धागे और मुख्य कार्यक्रम
- 18. जावा धागे और कचरा कलेक्टर
- 19. सी ++ - धागे और एकाधिक कतार
- 20. जावा स्विंगवर्कर और एकाधिक धागे
- 21. डेल्फी में XmlHttpRequest और धागे
- 22. धागे
- 23. PHP सत्र और iframe
- 24. एक और PowerShell सत्र
- 25. Phantomjs और सत्र
- 26. सत्र और HttpContext.Current.Session
- 27. सत्र और कुकीज़
- 28. लोड संतुलन और सत्र
- 29. NHibernate सत्र और HttpModule
- 30. एएसपी.नेट सत्र और LINQ
मुझे यकीन नहीं है कि थ्रेडिंग पहलू सत्र आईडी को गड़बड़ कर देगा। क्या आप अपनी सोच को और कुछ समझा सकते हैं? –