cookie在vs重新run的时候丢失

今天写个关于http cookie的demo,发现只要vs重新运行后cookie的值就会丢失,代码如下
protected void Page_Load(object sender, EventArgs e)
        {
            HttpCookie _userInfoCookies = Request.Cookies["UserName"];
            string city;
            if (_userInfoCookies != null)
            {
                city = _userInfoCookies["City"];
                Session["location"] = city;
                Response.Redirect("Berava.aspx");
            }
        }
        protected void Moveto_Click(object sender, EventArgs e)
        {
            Session["location"] = worlddrdolist.SelectedItem.Value;
            if (CheckBox1.Checked)
            {
                HttpCookie _userInfoCookies = new HttpCookie("UserName");
                _userInfoCookies["City"] = worlddrdolist.SelectedValue.ToString();

                Response.Cookies.Add(_userInfoCookies);
            }
            Response.Redirect("Berava.aspx");
        }
最后才发现是因为没有设置cookie的过期时间导致(Expire),默认cookie只是在当前会话有效,所以vs重新运行的时候就是一个新的会话,这时cookie就已经失效了,只要将cookie设置一个过期时间就ok了,像下面这样(有效时间为一天):
_userInfoCookies.Expires = DateTime.Now.AddDays(1);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值