0

我只需要为每个用户显示前 3 次信息。当该用户下次访问该站点时,他不应该看到此信息。我使用 cookie 来实现这个目标。

ViewBag.HelpShow = true;

if (this.ControllerContext.HttpContext.Request.Cookies.AllKeys.Contains("ecCount"))
{
  int count = 0;

  if (Int32.TryParse(this.ControllerContext.HttpContext.Request.Cookies["ecCount"].Value, out count))
  {
    if (count >= 3)
      ViewBag.HelpShow = false;
  }

  count++;
  this.ControllerContext.HttpContext.Response.Cookies["ecCount"].Value = count.ToString();
}
else
{
  HttpCookie cCount = new HttpCookie("ecCount", "1");
  cCount.Expires = DateTime.Now.AddYears(10);
  this.ControllerContext.HttpContext.Response.Cookies.Add(cCount);
}

但我遇到了问题。问题是这些 cookie 存储在浏览器中,直到打开该浏览器。如果我关闭浏览器并重新启动,这些 cookie 将被删除。所以问题是 - 如何保存 cookie 将始终保存 - 并且在重新启动浏览器之后。

4

0 回答 0