關於Asp.net中Cookie的問題

來源:互聯網
上載者:User
1、在應用程式中有時會出現cookie混亂的問題,主要問題在RemoveCookie上,解決辦法:

 

       /// <summary>

       /// 移除cookie,將Request和Response兩個集合中的都清理

       ///  Code by KentLi

       /// </summary>

       /// <param name="cookieName">cookie名稱</param>

      public void RemoveCookie(string cookieName)

      {

        

              HttpCookie Cookie =  HttpContext.Current.Request.Cookies[cookieName];

              if (Cookie != null) 

              {
                    //到期時間設定為立即到期        

                     Cookie.Expires=  DateTime.Now; 

                     HttpContext.Current.Request.Cookies.Remove(cookieName);

              }

 

              Cookie =  HttpContext.Current.Response.Cookies[cookieName];

              if (Cookie != null) 

              {
                    

                     Cookie.Expires=  DateTime.Now; 

                     HttpContext.Current.Response.Cookies.Remove(cookieName);

              }

      }

 

              public void appendcook(string cookies,string cookiesvalue,int days)

              {

                     HttpCookie usercookie=new HttpCookie(cookies,cookiesvalue);

                    usercookie.Expires = DateTime.Now.AddDays(days);

                     HttpContext.Current.Response.Cookies.Add(usercookie);

              }

 

2、中文cookie的問題,在Windows 2000正常,在Windows 2003有時會不正常(幾率很小,但的確存在),採用:

Server.UrlEncode();   

Server.UrlDecode();

編碼和解碼。

 

Cookie["MyCookie"] = Server.UrlEncode("中文")

Response.Write(Server.UrlDecode(Request.Cookies("MyCookie").Value()))

http://support.microsoft.com/default.aspx?scid=kb;en-us;313282

 

更多Cookie的相關知識

 

HttpContext.Current.Response.Cookies

HttpContext.Current.Request.Cookies

 

分別是需要寫回使用者用戶端和從使用者用戶端讀取的Cookie集合。

當修改Cookie的時候,為了保證同一個Asp.net 頁面能訪問修改後的Cookie,就必須同時修改這兩個集合中的Cookie。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.