在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);
}
}
}