可不可以设置session永不超时?如何设置那?
可不可以设置session永不超时?如何设置那?
------解决方案--------------------设置web.config 
      <sessionState  
             mode= "InProc " 
             stateConnectionString= "tcpip=dbserver:42424 " 
             sqlConnectionString= "data source=dbserver;Trusted_Connection=yes " 
             cookieless= "false "  
             timeout= "20 "  
     />  
 设置 timeout
------解决方案--------------------保存在数据库中或者状态服务器中
------解决方案--------------------为什么要这样做,那万一用户关掉浏览器怎么办?   
 这个是典型的内存泄露,那些已经关掉浏览器的session你要怎么清掉?   
 要知道,当用户再次打开浏览器时,就是一次新的会话,会用新的session(sessionid不同)而不是原来的,如果你不让过期,那么,你的内存里会存N多无用的session~~~~
------解决方案--------------------保存到数据库   xml文件    
 不能用不超时 
 session在服务器上会丢失
------解决方案--------------------ajax刷新session
------解决方案--------------------用cookie代替session   
 session用不超时,应用迟早要崩溃
------解决方案--------------------session永不超时设置-1就好   
 不过还有一个一定要保证,如果你的Session是放在SessionState里面的SessionState一定不能重启,重启就没了 
 如果放在IIS,那么IIS也不能回收,一回收也没了   
 所以想保证永不超时Session几乎无法办到, 
 所以还是cookie超时设置成-1比较好
------解决方案--------------------且不说,即使设置 TimeOut = 无穷大,是否真的可以不超时,因为Session有时候会莫名其妙丢失, 
 Session 用不超时,应用迟早要崩溃!!   
 假如你希望,用户保持浏览器打开着,即使不做任何请求,Session 就保持不超时,那么使用  
 AJAX 或者隐藏的iframe 做一个定时请求(刷新),以告诉服务器,浏览器打开着,
------解决方案--------------------MSDN 说拉 HttpSessionState.Timeout 属性不能设置为超过 525,600 分钟(1 年)的值。 
------解决方案--------------------数据库最保险