• CookieHelper


    using System;
    using System.Web;

    namespace MingYu.Utility
    {
    /// <summary>
    /// Cookie帮助类
    /// </summary>
    public class CookieHelper
    {
    /// <summary>
    /// 取Cookie
    /// </summary>
    /// <param name="name"></param>
    /// <returns></returns>
    public static HttpCookie Get(string name)
    {
    return HttpContext.Current.Request.Cookies[name];
    }

    /// <summary>
    /// 取Cookie值
    /// </summary>
    /// <param name="name"></param>
    /// <returns></returns>
    public static string GetValue(string name)
    {
    var httpCookie = Get(name);
    if (httpCookie != null)
    return httpCookie.Value;
    else
    return string.Empty;
    }

    /// <summary>
    /// 取Cookie值
    /// </summary>
    /// <param name="name"></param>
    /// <param name="key"></param>
    /// <returns></returns>
    public static string GetValue(string name, string key)
    {
    var httpCookie = Get(name);
    if (httpCookie != null)
    return httpCookie.Values[key];
    else
    return string.Empty;
    }

    /// <summary>
    /// 移除Cookie
    /// </summary>
    /// <param name="name"></param>
    public static void Remove(string name)
    {
    Remove(Get(name));
    }

    public static void Remove(HttpCookie cookie)
    {
    if (cookie != null)
    {
    cookie.Expires = DateTime.Now.AddDays(-1);
    Set(cookie);
    }
    }

    /// <summary>
    /// 新增Cookie
    /// </summary>
    /// <param name="name"></param>
    /// <param name="value"></param>
    /// <param name="expiresHours"></param>
    public static void Add(string name, string value, int expiresHours = 0)
    {
    var httpCookie = Get(name);
    if (httpCookie == null)
    httpCookie = Set(name);

    httpCookie.Value = value;
    Add(httpCookie, expiresHours: expiresHours);
    }

    /// <summary>
    /// 新增Cookie
    /// </summary>
    /// <param name="cookie"></param>
    /// <param name="expiresHours"></param>
    public static void Add(HttpCookie cookie, int expiresHours = 0, int minutes = 0)
    {
    string urlHost = HttpContext.Current.Request.Url.Host.ToLower();
    var expiresTime = DateTime.Now;
    if (expiresHours > 0)
    {
    expiresTime = expiresTime.AddHours(expiresHours);
    }
    if (minutes > 0)
    {
    expiresTime = expiresTime.AddMinutes(minutes);
    }
    if (expiresHours > 0 || minutes > 0)
    {
    cookie.Expires = expiresTime;
    }
    HttpContext.Current.Response.Cookies.Add(cookie);
    }

    public static HttpCookie Set(string name)
    {
    return new HttpCookie(name);
    }

    /// <summary>
    /// 更新Cookie
    /// </summary>
    /// <param name="cookie"></param>
    /// <param name="expiresHours"></param>
    public static void Set(HttpCookie cookie, int expiresHours = 0)
    {
    if (expiresHours > 0)
    cookie.Expires = DateTime.Now.AddHours(expiresHours);

    HttpContext.Current.Response.Cookies.Set(cookie);
    }
    }
    }

  • 相关阅读:
    [Bash] Shortcut
    [Bash] Rerun Bash Commands with History Expansions (!! & !$)
    [Bash] Create and Copy Multiple Files with Brace Expansions in Bash
    [Bash] Add Executable Files to $PATH with Bash
    [Typescript] Create Type From Any Given Data in TypeScript
    [Typescript] Ignore Null or Undefined Values with TypeScript Non-Null Assertion Operator
    [Bash] Chain Commands with Pipes and Redirect Output in Bash
    [Bash] Use Conditional Statements in Bash
    [Bash] Understand Exit Statuses in Bash
    监听内容变化 TextWatcher @功能 [MD]
  • 原文地址:https://www.cnblogs.com/zlj-rechio/p/cookie.html
Copyright © 2020-2023  润新知