我做的B/S程序,用户登陆以后我把用户的ID记录在Session里面,很多页面使用的时候经常会使用到这个ID,一旦Session过期了,就会出错。当然我知道把Session过期的时候转向登陆页面,这样使用的话,用户就很烦。以前在C/S中就没有这些情况。大家做大项目的时候怎么处理这个的呢?

解决方案 »

  1.   

    bs一般是用Session了,可以把超时时间设置长一点。
      

  2.   

    客户端用一年hidden的iframe,每过几分钟自动访问一次页面,这样,sessoin就不会丢了。当客户端关闭后,过20分钟(session的缺省时间),session就会自动消失掉。
      

  3.   

    打错字了。客户端用一年hidden的iframeto 客户端用一个hidden的iframe
      

  4.   

    如果你把超时时间设置的长一些不影响性能的话,完全可以这么干如果不想这么做
    可以写一个小隐藏页面,使用这个Session
    定时刷新小页面
    这样它就不会过期了
      

  5.   

    用 Session ,尽量系统中少用点吧。
      

  6.   

    在每个页面建立个LABEL属性INVISIBLE 每次调用页面的时候将SESSION 值复给那个LABEL 然后 SESSION.REMOVE, 当页面提交时在将 LABEL的值提交给SESSION
    这样系统资源占用也只是短暂的也不必使用COOKIE,
    其实COOKIE还是很好用的不过就怕客户端将COOKIE禁止了那怎么办?
      

  7.   

    用隐藏的iframe怎么做呀,能不能贴点代码出来“?
      

  8.   

    时间可以超过8小时,
    基本上是会影响系统性能在你的网页最外层框架中,加一个小的页面
    可以隐藏,也可以不
    比如,加很小的一条页眉或者页脚,尽量不要有别的功能,这样定时刷新也不影响什么,还可以美化一下页面
    有的系统有公告板,就再好不过,公告板反正是需要定时刷新的
    在定时刷新的页面的Page_Load里用一下你要保持的Session就ok
      

  9.   

    还没结帖子啊 WEB CONFIG 设置
    <sessionState  mode=  "SQLServer"  
       sqlConnectionString="data source=127.0.0.1;
       user id=sa;password=1128" cookieless="false" timeout="1440"/>  
    把SESSION存在SQL数据库里吧,我都设置成一天的,测试了2个星期左右不错,也没见系统性能有下降以前我也是HIDDEN的不过那么多参数倒来倒去头都大了,SESSION 还是方便的很