2014-04-02 3 views
9

अपने वेब साइट के लिए मैं web.config फ़ाइल में 1 सप्ताह के लिए लॉगिन सत्र टाइमआउट कॉन्फ़िगर किया गयासत्र टाइमआउट एएसपीनेट एमवीसी 4 सी # पर काम नहीं करता है। क्यूं कर?

<system.web> 
    <httpRuntime /> 

    <!-- Session keeps for 7 days --> 
    <sessionState timeout="10080"></sessionState> 
    <authentication mode="Forms"> 
     <forms loginUrl="~/" timeout="10080" slidingExpiration="true"/> 
    </authentication> 
    <!-- Configuration end --> 
</system.web> 

यहाँ प्रवेश के लिए कोड

[AllowAnonymous] 
    [HttpPost] 
    public ActionResult Login(string Login, string Password) 
    { 
     // empty passwords are not allowed 
     if (Password == "") 
      return Redirect(Request.UrlReferrer.ToString()); 

     bool LoginResult = WebSecurity.Login(Login, Password, true); 
     return Redirect(Request.UrlReferrer.ToString()); 
    } 

मैं के लिए लॉग इन, बंद ब्राउज़र है और इसे फिर से खोलने के लिए जाना मेरी वेब साइट -> उपयोगकर्ता के प्रवेश मैं ब्राउज़र बंद करने, कुछ समय (लगभग 30 मिनट) इंतजार अपने वेब साइट पर जाने के लिए -।> उपयोगकर्ता लॉग ऑफ किया जाता है। क्यों? सत्र 7 दिनों के लिए संग्रहीत किया जाना चाहिए लेकिन हमारे पास 30 मिनट भी नहीं है। वान समस्या का स्रोत हो सकता है?

मुख्य विचार यह है कि मैं कई दिनों बाद फिर से साइट पर जाने के लिए और अभी भी

+0

तुम सच में यकीन है कि आप अंतिम यात्रा के बाद 7 दिनों के लिए स्मृति में डेटा रखने के लिए चाहते हैं? –

+0

हाँ, यह आंतरिक वेब साइट है जो केवल 3 उपयोगकर्ताओं है और मैं हर बार – Vitalii

+0

हम एक ही मुद्दा है जब हम 4. – MBen

उत्तर

10

संभवत: उपयोगकर्ता द्वारा प्रवेश के साथ इसे खोलना चाहते हैं, अपने IIS के 20 मिनट के लिए कॉन्फ़िगर किया गया होगा संपादित करें TimeOut

IIS सत्र समय समाप्ति 1 सप्ताह 24 घंटे बदलें, जो मुझे आशा है कि आपकी समस्या का समाधान होगा।

देखें this

डिजाइन द्वारा, समय समाप्ति की अधिकतम मूल्य 24 घंटे होने के लिए निर्धारित है। माइक्रोसॉफ्ट समर्थन forum

टाइमआउट के लिए एक बड़ी विंडो प्राप्त करने के लिए, आप @में सत्र राज्यों को बनाए रखने पर विचार कर सकते हैं, जैसा कि @Marc द्वारा सुझाया गया है।

+0

को mvc3 से ले जाया गया है मैं यह मान पाया क्रेडेंशियल दर्ज करने के थक गया हूँ लेकिन एक और समस्या दिखाई दिया। मैं वहां 23:59 घंटे से अधिक सेट नहीं कर सकता। और मुझे कम से कम कई की जरूरत है। – Vitalii

1

जब आवेदन निष्क्रिय (कुछ समय के लिए कोई अनुरोध) है, IIS इसे बंद कर सकते हैं। यह सभी Sessions को नष्ट कर देगा।

Authentication भंडार यह डेटा एक डेटाबेस में और इस तरह एक पुनः आरंभ बच जाता है।

3

Sql (link here) में अपने सत्र स्थिति चलती का प्रयास करें। यह एक आईआईएस पुनः आरंभ/एप्लिकेशन पूल जारी रहती है चाहिए पुनरावृत्ति आदि

1

वेबसाइट Session.Timeout काम करेंगे केवल जब यह अनुप्रयोग पूल सत्र टाइमआउट मान से कम है; क्योंकि जब भी एप्लिकेशन पूल सत्र टाइमआउट मान तक पहुंच जाता है, तो उस विशेष एप्लिकेशन पूल को पुनरारंभ किया जाएगा।

http://www.codeproject.com/Articles/113287/Why-Session-Timeout-is-not-working-for-your-websit

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