C#操作Cookie的代码

jopen 10年前

namespace Net.String.ConsoleApplication  {      using System;      using System.Web;        public static class CookieHelper      {          /// <summary>          /// 添加cookie          /// </summary>          public static void AddCookie(this HttpContext h,string name, string value)          {              HttpCookie cookieName = new HttpCookie(name, System.Web.HttpUtility.UrlEncode(value, System.Text.Encoding.GetEncoding(65001)));              h.Response.Cookies.Add(cookieName);          }            /// <summary>          /// 添加cookie          /// </summary>          public static void AddCookie(this HttpContext h,string name, string value, TimeSpan span)          {              HttpCookie cookieName = new HttpCookie(name, System.Web.HttpUtility.UrlEncode(value, System.Text.Encoding.GetEncoding(65001)));                cookieName.Expires = DateTime.Now.Add(span);                h.Response.Cookies.Add(cookieName);          }            /// <summary>          /// 得到cookie          /// </summary>          public static string GetCookie(this HttpContext h, string name)          {              if (h.Request.Cookies[name] != null)              {                  if (h.Response.Cookies.Count > 0 && h.Response.Cookies[name] != null)                  {                      return System.Web.HttpUtility.UrlDecode(h.Response.Cookies[name].Value, System.Text.Encoding.GetEncoding(65001));                  }                  return System.Web.HttpUtility.UrlDecode(h.Request.Cookies[name].Value, System.Text.Encoding.GetEncoding(65001));              }              else              { return string.Empty; }          }            /// <summary>          /// 删除cookie          /// </summary>          public static void RemoveCookie(this HttpContext h,string name)          {              h.Response.Cookies[name].Value = null;              h.Response.Cookies[name].Expires = DateTime.Now.AddDays(-1);          }            /// <summary>          /// 清空cookie          /// </summary>          public static void ClearCookie(this HttpContext h)          {              try              {                  foreach (HttpCookie hc in h.Response.Cookies)                  {                      hc.Value = null;                      hc.Expires = DateTime.Now.AddDays(-1);                  }              }              catch { }          }      }  }