请问假如设置Session的timeout为20分钟,asp.net服务器是不是就会根据当前时间来记录该用户的SESSION过期时间是多久?比如当前时间是9:00,那么asp.net就会记录用户的SESSION过期时为:
9:00(当前用户访问服务器的时间)+0:20(timeout时间)=9:20那么如果用户在9:00后的20分钟内又访问了服务器,假如用户在9:10又访问了服务器,asp.net服务器是不是会将当前用户的SESSION过期时间更新为:
9:10(当前用户再次访问服务器的时间)+0:20(timeout时间)=9:30。只要用户在timeout时间内访问了服务器,那么用户的SESSION过期时间就会一直这样更新下去,请问我的理解对吗?

解决方案 »

  1.   

    session 的起始时间是从创建session的那一时刻起以后的20分钟,20分钟内不清空session或者重新创建session那20分钟后就自动过期了
      

  2.   

    从最后一次访问开始算起,如果访问不停session不断。不过session是依赖内存的,如果系统重启session就会丢失。
    可以用cookie来保存用户Id,cache来放用户数据(重启后重新到数据库获取)。
    或者用些持久化的Session机制。
      

  3.   

    持久化机制需要你Session内的对象可以被序列化