關於Asp.net中Cookie的問題

關於Asp.net應用cookie的問題處理:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

1、在應用程序中有時會出現cookie混亂的問題,主要問題在RemoveCookie上,解決辦法:

 

       /// <summary>

       /// 移除cookie,RequestResponse兩個集合中的都清理

       ///  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。

 


http://blog.joycode.com/ghj/archive/<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2003/11/06/5647.aspx

http://west-wind.com/weblog/posts/1006.aspx

http://www.derkeiler.com/Newsgroups/microsoft.public.inetserver.iis.security/2004-03/0147.html

 

 

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