c# - ASP.NET session 与 Cookie 过期

标签 c# asp.net visual-studio

我的 ASP.NET Web 窗体应用程序具有以下配置设置

<sessionState mode="StateServer" timeout=60" />

我相信,当创建一个新 session 时,

  1. 在服务器端(状态服务或进程内)创建一个存储桶来存储此用户 session 的数据,可通过唯一 ID 识别
  2. 一个名为 (ASP.NET_SessionId) 的 cookie 被发送到具有唯一 ID 的浏览器。

查询,

  1. 如何在服务器端设置/控制 session 的过期时间(上面的#1)
  2. 如何在客户端设置/控制 cookie 的过期时间(上面的#2)
  3. 通过上述配置设置,**Firefox** 上的 cookie 过期时间设置为 (SESSION),当浏览器关闭时 cookie 会丢失,而在 **Chrome** 上,过期时间设置为 (1 年).如何从 asp.net 应用程序中控制这些持续时间?我也想将 Firefox 的到期时间设置为 1 年

最佳答案

在ASP.Net中,我们不应该直接更改或修改Session cookie,因为里面除了Session Id之外没有任何信息。看屏幕截图。

如果你想增加或减少 session 超时,你只需修改sessionState就像你的问题一样。

enter image description here

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/

相关文章:

c# - 在 Azure Functions 中使用 DurableOrchestration 时,无法将参数 'orchestrationContext' 绑定(bind)到类型 DurableOrchestrationContext

c# - 在 Visual Studio 中输出控制台应用程序而不是控制台

c++ - 使用Boost PTree w/o标签解析XML

visual-studio - 如何在 Visual Studio 2013 中升级 NuGet

c# 匿名类有什么方法可以逃脱内部作用域 block 吗?

c# - ASP.NET MVC 5 中的 Azure AD 身份验证

c# - 在资源文件中存储包含函数和超链接的大文本

ASP.NET MVC > ASP.NET WebForms,为什么?

javascript - 如何用千位分隔符对数字进行排序

c# - 如何使用属性名称中的空格反序列化 JSON?