0

我有这个饼干

 HttpCookie cookie2 = new HttpCookie("AuthorID", data.AuthorID.ToString());
 cookie.Expires = DateTime.Now.AddMinutes(1);
 HttpContext.Response.AppendCookie(cookie2);

当网站用户不做任何事情的 cookie 处于非活动状态时,是否有一种可能的方法来设置过期时间?例如重新加载页面等。

我所做的是设置了 1 分钟的时间,但它不起作用有人知道吗?我有麻烦我在互联网上搜索但我没有找到任何有用的建议

4

1 回答 1

0

我在我的项目中实现了类似的东西。

过程:

  1. 为每个请求发送一个 cookie。
  2. 在客户端编写一个 JavaScript 代码,用于在页面加载时读取 cookie。
  3. 在 JavaScript中检查 cookie 的到期日期
  4. 如果 cookie 过期(或不存在),则对非活动用户执行您的操作(例如重新加载页面、显示消息、断开他的连接...)。

你也可以稍微改变一下上面的场景,比如:

  1. 将过期日期/时间设置为 cookie 值。
  2. 同上
  3. 确保 cookie 值 < 当前日期/时间
  4. 同上

如果您关心用户拒绝 cookie,您可以在没有 cookie 的 JavaScript 中做到这一点。例如:

  1. 设置 JavaScript 变量“lastActionTime”。
  2. 创建检查“lastActionTime”>时间+延迟的方法
  3. 附加常见的 JavaScript 事件(点击、焦点...)并在调用时将“lastActionTime”设置为当前时间。
于 2013-09-20T11:24:37.297 回答