在Common中新建一個CookieHelper,全局調用 ...
在Common中新建一個CookieHelper,全局調用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; namespace Common { public class CookieHelper { /// <summary> /// 設置cookie /// </summary> /// <param name="cookieName">cookie名稱</param> /// <param name="cookieValue">cookie值</param> /// <param name="domain">作用域,為空就不寫入作用域</param> public static void SetCookie(String cookieName, String cookieValue, string domain) { if (String.IsNullOrEmpty(cookieName) || String.IsNullOrEmpty(cookieValue)) return; if (HttpContext.Current != null) { HttpCookie cookie = new HttpCookie(cookieName, cookieValue); if (domain.Length > 0) { cookie.Domain = domain; } cookie.HttpOnly = true; HttpContext.Current.Response.Cookies.Add(cookie); } } /// <summary> /// 設置cookie /// </summary> /// <param name="cookieName">cookie名稱</param> /// <param name="cookieValue">cookie值</param> /// <param name="domain">作用域,為空就不寫入作用域</param> /// <param name="day">有效時間</param> public static void SetCookie(String cookieName, String cookieValue, string domain, int day) { if (String.IsNullOrEmpty(cookieName) || String.IsNullOrEmpty(cookieValue)) return; if (HttpContext.Current != null) { HttpCookie cookie = new HttpCookie(cookieName, cookieValue); if (domain.Length > 0) { cookie.Domain = domain; } cookie.HttpOnly = true; cookie.Expires = DateTime.Now.AddDays(day); HttpContext.Current.Response.Cookies.Add(cookie); } } /// <summary> /// 設置cookie過期 /// </summary> /// <param name="cookieName">需要過期的cookie名稱</param> public static void ExpireCookie(String cookieName) { if (String.IsNullOrEmpty(cookieName)) return; if (HttpContext.Current != null) { HttpCookie cookie = new HttpCookie(cookieName, string.Empty); cookie.HttpOnly = true; cookie.Expires = DateTime.Now.AddYears(-5); HttpContext.Current.Response.Cookies.Add(cookie); } } /// <summary> /// 獲取對應Cookie名稱的值 /// </summary> /// <param name="cookieName">Cookie 的名稱</param> /// <returns></returns> public static string GetCookie(string cookieName) { if (string.IsNullOrEmpty(cookieName)) return string.Empty; if (System.Web.HttpContext.Current == null) return string.Empty; if (System.Web.HttpContext.Current.Request.Cookies[cookieName] == null) return string.Empty; else return System.Web.HttpContext.Current.Request.Cookies[cookieName].Value; } /// <summary> /// 判斷對應的Cookie是否存在 /// </summary> /// <param name="cookieName">Cookie 的名稱</param> /// <returns></returns> public static bool ExistCookie(string cookieName) { if (string.IsNullOrEmpty(cookieName) || System.Web.HttpContext.Current == null) return false; if (System.Web.HttpContext.Current.Request.Cookies[cookieName] == null) return false; if (System.Web.HttpContext.Current.Request.Cookies[cookieName].Value == null) return false; return (System.Web.HttpContext.Current.Request.Cookies[cookieName].Value.Length > 0); } } }