CookieHelper.cs(20170223)

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;

namespace System.CRM.Common
{
    /// <summary>
    /// Cookie操作助手类
    /// </summary>
    public class CookieHelper
    {
        /// <summary>
        /// 设置一个Cookie(一天超时)
        /// </summary>
        /// <param name="key">Cookie的Key值</param>
        /// <param name="value">Cookie的Value值</param>
        public static void SetCookie(string key, string value)
        {
            SetCookie(HttpContext.Current.Response, key, value, DateTime.Now.AddDays(1));
        }

        /// <summary>
        /// 设置一个Cookie
        /// </summary>
        /// <param name="key">Cookie的Key值</param>
        /// <param name="value">Cookie的Value值</param>
        /// <param name="expires">Cookie的超时时间</param>
        public static void SetCookie(string key, string value, DateTime expires)
        {
            SetCookie(HttpContext.Current.Response, key, value, expires);
        }

        /// <summary>
        /// 移除Cookie
        /// </summary>
        /// <param name="key">Cookie的Key值</param>
        public static void RemoveCookie(string key)
        {
            SetCookie(HttpContext.Current.Response, key, null, DateTime.Now.AddMinutes(-1));
        }

        /// <summary>
        /// 获取Cookie值(查)
        /// </summary>
        /// <param name="key">Cookie的Key值</param>
        /// <returns>Cookie的Value值</returns>
        public static string GetCookie(string key)
        {
            return GetCookie(HttpContext.Current.Request, key);
        }

        /// <summary>
        /// 设置一个Cookie(增删改)
        /// </summary>
        /// <param name="response">当前 HTTP 响应的 System.Web.HttpResponse 对象</param>
        /// <param name="key">Cookie的Key值</param>
        /// <param name="value">Cookie的Value值</param>
        /// <param name="expires">Cookie的超时时间</param>
        private static void SetCookie(HttpResponse response, string key, string value, DateTime expires)
        {
            HttpCookie cookie = new HttpCookie(key)
            {
                Value = value,
                Expires = expires
            };
            response.Cookies.Add(cookie);
        }

        /// <summary>
        /// 获取Cookie值(查)
        /// </summary>
        /// <param name="request">当前 HTTP 请求的 System.Web.HttpRequest 对象</param>
        /// <param name="key">Cookie的Key值</param>
        /// <returns>Cookie的Value值</returns>
        private static string GetCookie(HttpRequest request, string key)
        {
            HttpCookie cookie = request.Cookies[key];
            return cookie != null ? cookie.Value : null;
        }
    }
}
复制代码

 

posted @   妖狐鬼魅  阅读(273)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示