我对ASP或ASP.Net会话生命周期(或生命周期)概念感到困惑。更具体地说,我的困惑是:
web.config sessionState
项目进行设置。)答案 0 :(得分:5)
会话启动是因为请求不包含会话cookie,或者它包含的会话cookie不再包含会话映射。会话以a)结束空闲,没有进一步的请求在超时期间引用它。 b)它故意被代码中止。 c)进程中的进程会话在进程中死亡,例如,当应用程序被回收时。
更改超时的不同方法基本上是修改web.config或从中继承值的配置文件。
除非会话对象是由另一个会话可以访问的代码故意放置的。
答案 1 :(得分:4)
通常通过在客户端计算机上生成唯一标识符作为cookie来处理会话。这通常是会话cookie,因此您无法轻松获得它。当您访问使用会话的站点时,它会查找此cookie。如果找不到,则会创建一个新会话,从而创建一个新会话。
设置过期时间的一种方法是在web.config中,您也可以通过转到您的网站属性在IIS中设置它 - >主目录选项卡 - >配置按钮 - >选项标签 - >会话超时。
您将无法访问其他会话数据。
答案 2 :(得分:3)
您可以使用以下方式以编程方式设置会话超时:
Session.Timeout = 60;
答案 3 :(得分:1)
不要忘记AppPool设置...默认情况下(无论如何,IIS 6)它将每120分钟回收一次。因此,某人可能会以低于设置的Session_Timeout值丢失会话。