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);


發佈了104 篇原創文章 · 獲贊 19 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章