2011-05-06 9 views
5

अरे मैं अपने web.configASP.NET क्यों सत्र बाहर समय कर रहे हैं, sessionstate समाप्ति सेट

<sessionState mode="InProc" timeout="45"/> 

कौन सा मैं 45 मिनट

लेकिन मैं के लिए बरकरार सत्र रखना होगा सोचा में निम्न पंक्ति है उस मामले को देखा जहां उपयोगकर्ता एक निष्क्रिय है, कहता है कि सत्र के समय में 15 मिनट का समय लगता है।

मैं इसे कैसे रोक सकता हूं?

संपादित करें: बस देखा मैं

मेटा http-समतुल्य = "ताज़ा करें" मास्टर पृष्ठ में निम्न पंक्ति है सामग्री = "1800; url = http: //www.virtualacademy.ie/login.aspx" >

हो सकता है कि इस मुद्दे को पैदा कर रही है, इसके बाद के संस्करण लाइन नंबर 1800

उत्तर

5

यदि उपयोगकर्ता अपने ब्राउज़र को बंद करता है या कुकीज़ साफ़ करता है, या यदि सर्वर पर ऐपडोमेन पुनर्नवीनीकरण किया जाता है, तो सत्र स्थिति खो जाएगी।

क्या आपने यह देखने के लिए लॉग की जांच की है कि ऐप रीसाइक्लिंग कर रहा है या नहीं?

+0

यह ब्राउज़र बंद करने या कुकीज़ साफ़ करने से नहीं है। मुझे परिदृश्य को बेहतर तरीके से वर्णित करना चाहिए था। असल में उपयोगकर्ता को एक वीडियो देखना पड़ता है जो कि 20 मिनट लंबा हो सकता है, लेकिन जब भी वे फिल्म देखने को पूरा करते हैं तो ऐसा लगता है कि उन्हें समय लगता है। मैं एक होस्टिंग सेवा का उपयोग कर रहा हूं जिसे ब्लैकनाइट कहा जाता है, मुझे रीसाइक्लिंग – StevieB

0

यानी कर आप प्रपत्र प्रमाणीकरण का उपयोग कर रहे है? इसकी अपनी टाइमआउट सेटिंग है कि जब समाप्त हो जाए तो उपयोगकर्ता आपके लॉगिन पेज पर रीडायरेक्ट करेगा, भले ही उनका सत्र अभी भी वैध हो।

+1

वह सब पर लॉगिन के बारे में कुछ नहीं कहा (यदि आप एक समर्पित सर्वर/अपने होस्टिंग प्रदाता से IIS के लिए उपयोग नहीं है, तो आप अगर वे आप के लिए यह वृद्धि कर सकते हैं देखने के लिए उनसे संपर्क करना होगा) ; वह सत्र राज्य के बारे में बात कर रहा है ... क्या वह नहीं है? –

+0

फॉर्म प्रमाणीकरण का उपयोग नहीं कर रहे हैं – StevieB

3

एपडोमेन रीसायकल इसके लिए एक बहुत ही आम समस्या है यदि sessionStateInProc है। इसके बजाय उत्पादन प्रणालियों के लिए StateServer या SQLServer का उपयोग करने की बहुत सलाह दी जाती है। प्रत्येक का उपयोग कैसे करें, और तीन अलग-अलग प्रकार के पेशेवरों और विपक्ष के दस्तावेज के लिए Session-State Modes देखें।

व्यक्तिगत रूप से, हम SQL सर्वर का उपयोग करते हैं यदि हमें वेब सर्वर खेतों के लिए जरूरी है - धीमे लेकिन साझा किया जा सकता है। हम राज्य सर्वर का उपयोग करते हैं यदि साइट केवल एक ही वेब सर्वर पर होस्ट की जाएगी - राज्य AppDomain पुनरारंभ होता है, लेकिन पूरे सर्वर को पुनरारंभ नहीं करता है।

इसके अलावा, अतीत में हमने पृष्ठभूमि में एक AJAX पोस्ट का उपयोग किया है, जबकि उपयोगकर्ता लंबे समय से चल रहे वीडियो देख रहे हैं या लंबे क्लाइंट-साइड कार्य कर रहे हैं, ताकि सत्र टाइमआउट हर कुछ मिनट रीसेट हो जाए। इस कोड के बारे में कुछ भी खास नहीं - बस कुछ एएसपीएक्स पेज पर कुछ जावास्क्रिप्ट हिट करें जो कुछ भी नहीं लौटाता है।

14

अपनी आईआईएस कॉन्फ़िगरेशन की जांच करना सुनिश्चित करें क्योंकि आपकी साइट पर होस्ट किया गया एप्लिकेशन पूल भी अपना टाइमआउट मान है जो आपके स्वयं के .config को ओवरराइड करेगा।

यह

  1. ओपन आईआईएस बाईं ओर
  2. पर
  3. करें आवेदन ताल बढ़ाने के लिए, आवेदन आपकी साइट द्वारा उपयोग पूल का चयन करें
  4. चुनें उन्नत सेटिंग्स
  5. प्रक्रिया मॉडल categtory के तहत वांछित लंबाई में 'निष्क्रिय टाइम-आउट' मान बढ़ाएं।

उम्मीद है कि इससे मदद मिलती है।

+0

रीसाइक्लिंग के बारे में कोई जानकारी नहीं है अधिकतम स्वीकार्य 1740 मिनट = 2 9 घंटे है। –

+0

@t_plusplus 'निष्क्रिय समय-बाहर 'के लिए अधिकतम अनुमत संख्या * 43200 * है, लेकिन मान को <=' नियमित समय अंतराल का मान होना चाहिए, जो डिफ़ॉल्ट रूप से 1740 मिनट है। –

+0

टाइमआउट संपत्ति को 525,600 मिनट (1 वर्ष) https://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.timeout(v=vs.110 से अधिक मान पर सेट नहीं किया जा सकता है) .aspx –

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