了解ASP.Net会话的生命周期

Geo*_*ge2 4 asp.net iis session lifetime asp-classic

我对ASP或ASP.Net会话生命周期(或生命周期)概念感到困惑.更具体地说,我的困惑是:

  1. IIS如何确定新会话何时开始以及现有会话何时结束?特别是当我们调用重定向代码时,IIS如何决定会话是继续还是结束?
  2. 我们如何设置会话到期时间?(目前我只知道通过web.config sessionState项目设置它.)
  3. 一个会话是否可以访问另一个会话的变量?

Aar*_*onS 5

会话通常通过在客户端机器上生成唯一标识符作为 cookie 来处理。这通常是一个会话 cookie,因此您无法轻松获取它。当您访问使用会话的站点时,它会查找此 cookie。如果没有找到,它会创建一个新会话,从而创建一个新会话。

设置过期时间的一种方法是在 web.config 中,您也可以通过转到您的网站属性 -> 主目录选项卡 -> 配置按钮 -> 选项选项卡 -> 会话超时在 IIS 中设置它。

您将无法访问其他人的会话数据。


Ant*_*nes 5

  1. 会话开始是因为请求不包含会话cookie或它包含的会话cookie不再映射到会话.会话以a)结束空闲,没有进一步的请求在超时期间引用它.b)它故意被代码中止.c)流程会话在流程执行时死亡,例如应用程序被回收时.

  2. 更改超时的不同方法基本上是修改web.config或从中继承值的配置文件.

  3. 除非会话对象是由另一个会话可以访问它的代码故意放置的.