में हैंडलिंग मैं उपयोगकर्ता को अपनी साइट से दूर जाने पर एएसपी.NET सत्र को नष्ट करने का तरीका जानने का प्रयास कर रहा हूं। मैं ग्लोबल.एक्सएक्स एप्लिकेशन फ़ाइल का उपयोग कर रहा हूं और session_end ईवेंट का उपयोग कर रहा हूं। लॉगआउट बटन पर क्लिक करें। लेकिन जब मैं ब्राउजर को बंद करता हूं तो यह 20 मिनट के बाद ग्लोबल फाइल का उपयोग नहीं करता है। मैं <sessionState mode="InProc" timeout="20"></sessionState>
रूप web.conig फ़ाइल में प्रयुक्त
कृपया मेरी मदद करो
ऑगस्टाइनसत्र एएसपीनेट
उत्तर
सत्र टाइमआउट को परिभाषित करता है जब कुछ सत्र कुछ निष्क्रिय समय के बाद नष्ट कर दिया जाएगा द्वारा सत्र मार सकते हैं।
यदि आप सत्रों पर अधिक नियंत्रण चाहते हैं, तो आपको SQLServer मोड, स्टेट सर्वर मोड या कस्टम एक का उपयोग करने की आवश्यकता होगी।
मेरा मतलब है कि, क्योंकि उदाहरण के लिए, एक मानक एसक्यूएल सर्वर तालिका में SQLServer मोड भंडार सत्र, हां, तो आप कुछ एसक्यूएल सर्वर काम लागू कर सकते हैं, या Windows में या कुछ Windows सेवा में कुछ काम अनुसूची, तो आप साफ कर सकते हैं आपकी जरूरतों के आधार पर अप सत्र।
वैसे, शायद आपको यह जानना होगा कि यदि आप इनप्रोक का उपयोग कर रहे हैं, तो आपके सत्र नष्ट हो सकते हैं क्योंकि आईआईएस पुनर्नवीनीकरण अनुप्रयोग पूल, या सर्वर पूरी तरह से पुनरारंभ हो गया है। और यह सत्र समाप्त नहीं हो रहा है, इसलिए अपरिवर्तनीय घटना और हैंडलर इस परिदृश्य में काम नहीं करेगा।
मैं दोहराता हूं, अगर आपको बेहतर सत्र प्रबंधन मोड की आवश्यकता है जैसे मैंने आपको सुझाव दिया है।
संपादित करें:
चेक यह पेज: http://aspalliance.com/520_Detecting_ASPNET_Session_Timeouts.2
आप सत्र बेहतर टाइमआउट के बाद से Session_End जब एक सत्र समाप्त हो नहीं बुलाया जाता है संभाल करने का तरीका जानेंगे, लेकिन जब आप कहते हैं " Session.Abandon "।
आपको बुला रहा Session.Abandon()
उपयोग कर सकते हैं मैं का उपयोग करें Session.abandon और स्पष्ट() लेकिन, मेरा प्रश्न है कि अगर हम अपने ब्राउज़र बंद करने से काम नहीं कर ... – augustine
जब ब्राउज़र "नेविगेट करता है" या "अपने ब्राउज़र को बंद कर देता है" ब्राउज़र वेबसाइट पर संकेत नहीं भेजता है। इसलिए एएसपीनेट (या कोई अन्य सर्वर साइड टेक्नोलॉजी) उस सत्र को नष्ट करने के लिए प्रतिक्रिया नहीं दे सकता है।
यही कारण है कि एक सत्र टाइमआउट के साथ काम करता है: यदि उपयोगकर्ता टाइमआउट अवधि के भीतर कोई अनुरोध नहीं करता है, तो वह सत्र को छोड़ देता है, भले ही वह उस पृष्ठ को 20+ मिनट के लिए पढ़ रहा हो।
सत्र को कॉल करने वाला एक नया पृष्ठ बनाएं। पृष्ठ लोड पर और रजिस्टर क्लाइंटस्क्रिप्टब्लॉक का उपयोग कर पृष्ठ (विंडो.क्लोज़()) बंद कर देता है। इस नई पेज विंडो को कॉल करें। जावास्क्रिप्ट का उपयोग कर वर्तमान पृष्ठ के अनलोड पर स्थान।
आप inproc मोड के SQLServer मोड instread
- 1. एएसपी.नेट स्टेटिक क्लासेस और एएसपीनेट सत्र
- 2. सत्र एएसपीनेट में कैसे काम करता है?
- 3. एएसपीनेट
- 4. एएसपीनेट एमवीसी
- 5. एएसपीनेट
- 6. सत्र की अवधि समाप्त हो गई है या नहीं, एएसपीनेट
- 7. एएसपीनेट सत्र कुकी खो गई या हटा दी गई
- 8. एएसपीनेट सत्र आईडी पोस्टबैक पर बदल रहा है?
- 9. एएसपीनेट प्रोग्रामेटिक रूप से सत्र को पढ़ाएं (EnableSessionState = "ReadOnly")
- 10. एक कुकी में एएसपीनेट सत्र जानकारी संग्रहीत है?
- 11. सत्र
- 12. एएसपीनेट साइट
- 13. जहां मुझे एएसपीनेट
- 14. एएसपीनेट एमवीसी
- 15. अलग-अलग सबडोमेन (एएसपीनेट)
- 16. एएसपीनेट
- 17. एएसपीनेट
- 18. एएसपीनेट
- 19. एएसपीनेट
- 20. एएसपीनेट
- 21. एएसपीनेट
- 22. एएसपीनेट
- 23. एएसपीनेट
- 24. एएसपीनेट
- 25. एएसपीनेट
- 26. एएसपीनेट
- 27. एएसपीनेट
- 28. एएसपीनेट
- 29. एएसपीनेट
- 30. एएसपीनेट
+1: एक बहुत अच्छा ट्यूटोरियल मटीस। – Kamyar
धन्यवाद। लेकिन मैंने इस ट्यूटोरियल को नहीं बनाया है! : डी –
मुझे पता है। लेकिन साझा करने के लिए धन्यवाद :) – Kamyar