【问题标题】:Cookie expiration issue in asp.netasp.net 中的 Cookie 过期问题
【发布时间】:2021-01-06 09:30:02
【问题描述】:

我正在创建一个 cookie 并在其中获取一个文本框值。我需要使其过期,然后必须通过检查它是否已过期来打印一条消息。我正在执行以下操作

 HttpCookie usercookie = new HttpCookie("userinfo");
        Response.Cookies["gettingusername"].Value = textbox_username.Text;
        Response.Cookies["gettingusername"].Expires = DateTime.Now;
        Response.Cookies.Add(usercookie);
        if (Request.Cookies["gettingusername"]!=null)
        {
            Response.Write("Cookie is Not Expired");
        }
        else
        {
           Response.Write("Cookie Expired");
        }

但它总是说:-

Cookie is Not Expired  

我是新手。请帮忙。 提前致谢。

【问题讨论】:

  • 我觉得Request.Cookies["gettingusername"]会创建一个带空格的默认cookie,所以!= null这个条件永远为真。

标签: c# asp.net cookies


【解决方案1】:

你可以这样做:

myCookie.Expires = DateTime.Now.AddDays(-1);

if(myCookie.Expires > DateTime.Now)
  Response.Write("Cookie not Expired");
else
  Response.Write("Cookie Expired");

【讨论】:

    【解决方案2】:

    浏览器负责删除过期的 cookie。您只需要设置将来到期的时间。例如:

    if (Request.Cookies["gettingusername"] != null)
    {
        Response.Write("Cookie is not expired")
        Response.Write("Value exists : " + Request.Cookies["gettingusername"]);
    }
    else
    {
       Response.Write("Cookie is expired, creating a new cookie.");
       Response.Cookies.Add(new HttpCookie("gettingusername")
       {
           Value = textbox_username.Text,
           Expires = DateTime.Now.AddDays(1)
       });
    }
    

    【讨论】:

      【解决方案3】:

      试试下面...

      if (Request.Cookies["gettingusername"] != null)
      {
          HttpCookie myCookie = new HttpCookie("userinfo");
          myCookie.Expires = DateTime.Now.AddDays(-1);//add -1 days
          Response.Cookies.Add(myCookie);
      }
      

      【讨论】:

        【解决方案4】:

        无法准确理解您想要达到的目标。 您应该设置它们并检查它们是否以不同的方法过期。

        例如,您可以在按下“设置 cookie”按钮时设置 cookie,并在“Expire Cookie”操作中使它们过期

        【讨论】:

          【解决方案5】:

          这就是您现在可以删除 cookie 的方法..!

          Response.Cookies["MyCookie"].Expires = DateTime.Now.AddDays(-1);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-09-26
            • 1970-01-01
            • 1970-01-01
            • 2011-02-12
            • 1970-01-01
            • 2014-10-07
            相关资源
            最近更新 更多