CookieHelper
Cookie 帮助类
using System; using System.Web; namespace Infrastructure.Common { /// <summary> /// Cookie帮助类 /// </summary> public class CookieHelper { /// <summary> /// 添加一个Cookie /// </summary> /// <param name="cookieName">cookie名称</param> /// <param name="cookieValue">cookie值</param> /// <param name="expires">cookie有效期</param> /// <param name="domain"></param> /// <param name="httpOnly"></param> public static void SetCookie(string cookieName, string cookieValue, DateTime? expires, bool httpOnly = false, string domain = "") { HttpCookie cookie = new HttpCookie(cookieName) { Value = HttpContext.Current.Server.UrlEncode(cookieValue), HttpOnly = httpOnly }; if (expires.HasValue) { cookie.Expires = expires.Value; } if (!string.IsNullOrWhiteSpace(domain)) cookie.Domain = domain; HttpContext.Current.Response.Cookies.Add(cookie); } /// <summary> /// 添加一个Cookie(24小时过期) /// </summary> /// <param name="cookieName">cookie名称</param> /// <param name="cookieValue">cookie值</param> /// <param name="httpOnly"></param> /// <param name="domain"></param> public static void SetCookie(string cookieName, string cookieValue, bool httpOnly = false, string domain = "") { SetCookie(cookieName, cookieValue, DateTime.Now.AddDays(1.0), httpOnly, domain); } /// <summary> /// 获取指定Cookie值 /// </summary> /// <param name="cookieName">cookie名称</param> /// <returns></returns> public static string GetCookieValue(string cookieName) { HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName]; return cookie == null ? string.Empty : HttpContext.Current.Server.UrlDecode(cookie.Value); } /// <summary> /// 清除指定Cookie /// </summary> /// <param name="cookieName">cookie名称</param> public static void ClearCookie(string cookieName) { HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName]; if (cookie != null) { cookie.Expires = DateTime.Now.AddYears(-3); HttpContext.Current.Response.Cookies.Add(cookie); } } /// <summary> /// 清除所有Cookie /// </summary> public static void ClearAllCookie() { HttpCookieCollection cookieCollection = HttpContext.Current.Request.Cookies; if (cookieCollection != null) { foreach (HttpCookie cookie in cookieCollection) { if (cookie == null) continue; cookie.Expires = DateTime.Now.AddYears(-3); HttpContext.Current.Response.Cookies.Add(cookie); } } } } }
浙公网安备 33010602011771号