【问题标题】:ASP.NET Remove Session/CookiesASP.NET 删除会话/Cookie
【发布时间】:2012-08-12 03:36:34
【问题描述】:

我环顾四周,发现如何删除客户端浏览器上的 cookie,或者使用 cookie 的过期时间,或者通过不提供过期时间在浏览器退出时删除它们。

我需要将我的网络应用程序中的 cookie 设置为在特定时间后删除,而且在浏览器退出或崩溃时也可以删除。这可能吗?

提前致谢!

【问题讨论】:

    标签: asp.net session cookies browser


    【解决方案1】:

    这可能吗?

    不,这不可能开箱即用。有两种类型的 cookie:

    1. persistent:一个为给定日期设置了expires 属性的cookie => 这些cookie 作为文件存储在客户端浏览器上,并且在浏览器重新启动后仍然存在。将随客户端执行的每个请求一起发送,直到达到它们的到期日期或直到服务器明确删除它们。
    2. 会话 cookie:一个没有设置 expires 属性的。这些仅存在于当前浏览器进程的内存中,但永远不会过期(直到浏览器关闭或服务器明确删除它们)。

    因此,对于您的场景,您可以通过在值中包含 created at 日期来使用会话 cookie。然后在每个请求的服务器上,您可以读取此值并与当前日期进行比较。如果所需的时间已经过去,只需使 cookie 过期,以便不再在后续请求中发送它。顺便说一下,这种技术用于 ASP.NET 中的 Forms Authentication 模块。您在 web.config 中指定超时并决定是否要使用滑动过期,然后在每个请求上服务器检查是否达到超时,以便决定使 cookie 无效或更新它(如果滑动过期已启用)。

    【讨论】:

      猜你喜欢
      • 2017-03-16
      • 2011-01-13
      • 2013-09-12
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 2012-05-23
      • 2010-11-08
      相关资源
      最近更新 更多