के साथ सत्र_स्टार्ट की बड़ी संख्या मैं अपने विकास बॉक्स (Vista/IIS7 पर .NET 2.0) पर एक एएसपी.NET वेबसाइट चला रहा हूं। global.asax.cs में सत्र_स्टार्ट विधि प्रत्येक कॉल को फ़ाइल (log4net) पर लॉग करता है। सत्र_एंड विधि प्रत्येक कॉल को भी लॉग करता है।समान सत्र आईडी
मैं इनप्रोक सत्र स्थिति का उपयोग कर रहा हूं, और सत्र टाइमआउट को 5 मिनट तक सेट करता हूं (20 मिनट के लिए प्रतीक्षा से बचने के लिए)।
मैंने वेबसाइट पर क्लिक किया, 5 मिनट इकाई के लिए प्रतीक्षा करें, मुझे सत्र_एंड लॉगिंग दिखाई दे रही है। फिर मैं वेबसाइट F5। ब्राउज़र में अभी भी सत्र कुकी है और इसे सर्वर पर भेजता है। सत्र_स्टार्ट को कॉल किया जाता है और एक ही सत्र आईडी का उपयोग करके एक नया सत्र बनाया जाता है (बीटीडब्ल्यू: मुझे इसे एक ही सत्र आईडी होना चाहिए, क्योंकि इसका उपयोग डाटाबेस में डेटा स्टोर करने के लिए किया जाता है)।
परिणाम: हर बार जब मैंने पहले समाप्त सत्र पर F5 मारा, सत्र_स्टार्ट विधि कहा जाता है, अनुरोध निष्पादित किया जाता है और सत्र_इंड विधि तुरंत कहा जाता है।
जब मैं एक अलग ब्राउज़र खोलता हूं, तो सत्र_स्टार्ट विधि को केवल एक बार बुलाया जाता है। फिर 5 मिनट के बाद सत्र FE प्रत्येक F5 सत्र_स्टार्ट/अनुरोध/सत्र_एंड अनुक्रम निष्पादित करने का कारण बनता है।
web.config प्रासंगिक अनुभाग:
<system.web>
<compilation debug="true" />
<sessionState timeout="2" regenerateExpiredSessionId="false" />
</system.web>
मुझे इसी समस्या पर मदद चाहिए, लेकिन उन साइटों पर जहां मैंने सत्र के साथ गड़बड़ नहीं की थी। पूरी तरह से यादृच्छिक रूप से साइट पर एक सत्र आईडी के साथ एक उपयोगकर्ता के लिए प्रति दिन सैकड़ों बार सत्र_स्टार्ट में एक डीबी लेनदेन होगा। कोई चेतावनी नहीं, यादृच्छिक साइट प्रभावित, और कोई जवाब नहीं। –
[यह लिंक] देखें (http://stackoverflow.com/a/11375003/779408)। वहां असली समाधान है। – breceivemail