您的位置:首页 > 编程语言 > ASP

关于Asp.net中Cookie的问题

2007-11-02 14:21 597 查看
导读:
  关于Asp.net应用中cookie的问题处理:
  
  1、在应用程序中有时会出现cookie混乱的问题,主要问题在RemoveCookie上,解决办法:
  
  ///
  /// 移除cookie,将Request和Response两个集合中的都清理
  /// Code by KentLi
  ///
  /// cookie名称
  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/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
  
  
  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=162402
本文转自
http://blog.csdn.net/lihonggen0/archive/2004/11/01/162402.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: