session用来保存服务器的状态,这个想必大家都知道,在asp中,你只要设置一下Session("name")=value,你就可以搞定了。其timeout可以自己制定,也可以使用默认值。默认应该是20分钟吧。那个时候,iis还是5.0的版本。如果你想使用30分钟,在iis中设置的失效时间与你在你的global.asa中的时间一致,就ok了,没有问题了
在aspx中与iis6中,发生变化了。第一,你还可以在webcong中指定失效时间。第二,你同样要保持iis与webconfig中的时间一致。到这里,基本没有问题了。
但是,真的就没有问题了吗?iis6还多了一个applications pool。它的属性中有一个叫做recycling的东西。ms设计它的本意应该是定时来重新启动worker process。这样你设置的一切东西会重新初始化一次,很遗憾的是你的session在重启后丢失了。如果你要保持你的session,你要做的就是将此取消,对于开发者来说,你要保证你的程序不能因为长时间运行而崩溃。