ASP.NET移除Session/Cookies

3
我查阅了一些资料,发现可以通过为Cookies设置过期时间或在浏览器退出时删除Cookies来删除客户端浏览器上的Cookies。
我需要在我的Web应用程序中设置Cookies,让它们在特定时间后自动删除,同时也能够在浏览器退出或崩溃时删除。这是否可行?
谢谢您提前的帮助!
1个回答

4

这可行吗?

不,这不能直接实现。有两种类型的cookies:

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接