IIS设置_session被清空的步骤

经常听到程序员会说,明明设置了很长的超时时间,为什么没有生效呢?session很快就被清空了。

asp.net默认的sessionstate模式是inproc(进程内),数据是在网站的应用程序池里面保存的。这样在web.config设置的超时时间,是在应用程序池没有发生回收的基础上才是有效的。

这样就出现了问题,为什么应用程序池会发生回收?如何禁止应用程序池的回收,让session的数据可以保存得时间长一点呢?
FTP

这和IIS应用程序池的两个设置有关:
在这里插入图片描述
在这里插入图片描述

【回收】里面的【固定时间间隔(分钟)】和【进程模型】里面的【闲置超时(分钟)】,这两项的默认设置大概是二十或三十分钟的样子。也就是说,在应用程序池的运行时间达到设置的间隔,应用程序池会发生回收,session会被清空;在网站空闲,即没有请求的时间达到设置值,应用程序池会发生回收,session会被清空。

这种回收的行为在一个正式运营的网站上面,是很不合适的。我觉得IIS的默认值是这样也有点奇怪,因为默认值应该是一个最通用,适合最多人的一种设置,这两项的默认值显然不是。可能windows毕竟是最流行的桌面系统,考虑到回收可以节省资源,不影响其他的工作任务,才这样设置的吧。服务器一般都是单一的工作任务,不进行回收带来的价值,明显是高于所消耗的资源的。

所以,如上面的截图所示,我建议把这两项都设置为0,禁用这两种回收行为。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值