我的 ASP.NET Web 窗体应用程序具有以下配置设置
<sessionState mode="StateServer" timeout=60" />
我相信,当创建一个新 session 时,
- 在服务器端(状态服务或进程内)创建一个存储桶来存储此用户 session 的数据,可通过唯一 ID 识别
- 一个名为 (ASP.NET_SessionId) 的 cookie 被发送到具有唯一 ID 的浏览器。
查询,
- 如何在服务器端设置/控制 session 的过期时间(上面的#1)
- 如何在客户端设置/控制 cookie 的过期时间(上面的#2)
- 通过上述配置设置,**Firefox** 上的 cookie 过期时间设置为 (SESSION),当浏览器关闭时 cookie 会丢失,而在 **Chrome** 上,过期时间设置为 (1 年).如何从 asp.net 应用程序中控制这些持续时间?我也想将 Firefox 的到期时间设置为 1 年
最佳答案
在ASP.Net中,我们不应该直接更改或修改Session cookie,因为里面除了Session Id之外没有任何信息。看屏幕截图。
如果你想增加或减少 session 超时,你只需修改sessionState就像你的问题一样。
I want to set expiration on Firefox to 1 year as well
您不能也不应该将 session 状态有效期设置为 1 年。
您似乎混淆了 Forms authentication timeout vs sessionState timeout .
关于c# - ASP.NET session 与 Cookie 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38230529/