2011-08-24 25 views
6

हम लोड के तहत, सत्र डेटा दूषित या गायब हो रहे हैं, लेकिन सत्र स्वयं उपस्थित रहते हैं।लोड के तहत एएसपी.NET सत्र दूषित

हमारी वेबसाइट आईआईएस 7 पर एएसपी.Net 4.0 चला रही है और सिस्को एसीई उपकरण लोड बैलेंसर के पीछे कुल 4 सर्वरों के साथ वेब-फार्म में इनप्रोक सत्र स्थिति का उपयोग कर रही है।

इस समय समस्या यादृच्छिक है, हम इस मुद्दे को इच्छा पर पुन: पेश नहीं कर सकते हैं। यह वेब एप्लिकेशन पिछले सात महीनों से सही तरीके से काम कर रहा है।

हमें एहसास है कि माइक्रोसॉफ्ट वेब खेतों के साथ इनप्रोक का उपयोग करने की सिफारिश नहीं करता है, भले ही चिपचिपा सत्रों का उपयोग किया जा रहा हो।

हमारे पास हमारे उत्पादन वातावरण के लिए उचित प्रयोगशाला वातावरण है, लेकिन पर्याप्त भार (हम डब्ल्यूएपीटी का उपयोग करते हैं) के तहत वहां पुन: उत्पन्न करने में असमर्थ हैं।

हमारे उत्पादन वातावरण में, हमने लोड बैलेंसर के कारण "सर्वर होपिंग" को खत्म करने के लिए लोड बैलेंसर के पीछे केवल एक सर्वर को अलग करने का प्रयास किया है। हालांकि, एक सर्वर पर चलने पर भी समस्या बनी रहती है। हम उत्पादन में किसी भी ऐपपूल या आईआईएस रीसाइक्लिंग को नहीं देख रहे हैं। एक मानक अभ्यास के रूप में, हम उत्पादन एप पूल प्रतिदिन 3am ईएसटी पर रीसायकल करते हैं, और ओएस पर महीनों के अपटाइम का आनंद लिया है।

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

किसी ने फिडलर का उपयोग कर एक HTTP सत्र को कैप्चर करने का प्रयास करने का सुझाव दिया। फिडलर चलाने के साथ यह मुद्दा यह है कि हम जानबूझकर इस मुद्दे को खुद को पुन: पेश नहीं कर सकते हैं। इसलिए, यह हमें विफलता घटना के HTTP ट्रेस को कैप्चर करने में असमर्थ बनाता है जैसा कि होता है। हमारी प्रयोगशाला में डब्ल्यूएपीटी से ट्रेस लॉग संभवतः फिडलर के समान डेटा प्रदान करेंगे, लेकिन जैसा कि मैंने कहा था, हम इसे पुन: पेश नहीं कर सकते हैं।

मैं बहुत इसकी सराहना करेंगे किसी भी अंतर्दृष्टि किसी को भी हो सकता है ...

+0

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

+0

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

+0

क्या आप इस साझा चर के बारे में अधिक जानकारी पोस्ट कर सकते हैं? – Sumo

उत्तर

1

यहाँ अब तक एकत्र की गई जानकारी के सभी के आधार पर, मैं समस्या क्या है के रूप में एक शिक्षित अनुमान के साथ जवाब देने के लिए जा रहा हूँ।

सत्र किसी भी तरह समाप्त हो रहा है।

ऐप पूल रीसाइक्लिंग एकमात्र चीज नहीं है जो सत्र समाप्ति का कारण बन सकती है। और, Hanselman will tell you के रूप में, यह एक आम अवसर है जब आप इनप्रोक सत्र प्रबंधन और उच्च मात्रा को जोड़ते हैं।

संपादित करें: भी रूप में है कि हो सकता है एक older blog post for IIS6 विवरण है कि कैसे इस तरह खो सत्र, विशेषकर वे, जो विशिष्ट उपयोगकर्ताओं न सिर्फ सभी सत्रों को प्रभावित, का कारण निर्धारित करने के लिए पर एक नजर डालें,,। ब्याज का वर्ग Application_End कोड स्निपेट वेब गार्डन के बारे में बात करने के ठीक बाद है। मैंने इस तरह की जानकारी के एक नए टुकड़े की तलाश की है और मैं वास्तव में यह पाया कि सभी मुद्दों के बारे में बात की गई थी answer to another question here on SO

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