zoukankan      html  css  js  c++  java
  • asp.net操作cookie类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    /// <summary>
    ///CookiesSel 的摘要说明
    /// </summary>
    public class CookiesSel
    {
        public CookiesSel()
        {
            //
            //TODO: 在此处添加构造函数逻辑
            //
        }
        private static HttpResponse respone = HttpContext.Current.Response;
        private static HttpRequest requst = HttpContext.Current.Request;
        /// <summary>
        /// 添加cookie并写入value
        /// </summary>
        /// <param name="cookName">新建的cookie的名称</param>
        /// <param name="cookValue">新建的cookie的值</param>
        /// <param name="expriTime">cookie的有效期以天为单位,-2表示不设置有效期</param>
        public static void AddCookies(string cookName, string cookValue, double expriTime)
        {
            if (requst.Cookies[cookName] != null)
            {
                DelCookies(cookName);
            }
            HttpCookie cook = new HttpCookie(cookName);
            if (expriTime != -2)
                cook.Expires = DateTime.Now.AddDays(expriTime);
            cook.Value = cookValue;
            respone.AppendCookie(cook);
        }
        /// <summary>
        /// 添加有键值的cookie
        /// </summary>
        /// <param name="cookName">cookie的名称</param>
        /// <param name="key">cookie内键值的名称</param>
        /// <param name="keyValue">cookie的键值value</param>
        /// <param name="expritime">cookie的有效期以天为单位,-2表示不设置有效期</param>
        public static void AddCookies(string cookName, string key, string keyValue, double expritime)
        {
            HttpCookie cook = new HttpCookie(cookName);
            if (!string.IsNullOrEmpty(key))
                cook.Values.Add(key, keyValue);
            if (expritime != -2)
                cook.Expires = DateTime.Now.AddDays(expritime);
            respone.AppendCookie(cook);
        }
        /// <summary>
        /// 设置cookie的有效期过期(删除cookie)
        /// </summary>
        /// <param name="cookName">要设置的cookie的名称</param>
        public static void DelCookies(string cookName)
        {
            DelCookiesValue(cookName, null);
        }
        /// <summary>
        /// 删除cookie或者删除cookie的键值
        /// </summary>
        /// <param name="cookName">cookie的名称</param>
        /// <param name="key">键值的名称(如果为NULL则运行删除cookie的代码,否则运行删除cookie中的键值的代码)</param>
        public static void DelCookiesValue(string cookName, string key)
        {
            HttpCookie cook = requst.Cookies[cookName];
            if (cook != null)
            {
                if (!string.IsNullOrEmpty(key) && cook.HasKeys)
                {
                    if (cook.Values.Count <= 1)
                        cook.Expires = DateTime.Now.AddDays(-1);
                    else
                        cook.Values.Remove(key);
                    respone.AppendCookie(cook);
                }
                else
                {
                    cook.Expires = DateTime.Now.AddDays(-1);
                    respone.AppendCookie(cook);
                }
            }
        }
        /// <summary>
        /// 获取cookie的值
        /// </summary>
        /// <param name="cookName">cookie的名称</param>
        /// <returns>返回cookie的值,如果不存在cookie则返回NULL</returns>
        public static string GetCookieValue(string cookName)
        {
            return GetCookieOrKeyValue(cookName, null);
        }
        /// <summary>
        /// 获取cookie的值或cookie的键值
        /// </summary>
        /// <param name="cookName">cookie的名称</param>
        /// <param name="keyName">cookie内键值的名称(NULL代表获取cookie的值)</param>
        /// <returns>返回cookie的值或者键值,如果不存在cookie则返回NULL</returns>
        public static string GetCookieOrKeyValue(string cookName, string keyName)
        {
            HttpCookie cook = requst.Cookies[cookName];
            if (cook != null)
            {
                if (!string.IsNullOrEmpty(keyName) && cook.HasKeys)
                    return cook.Values[keyName].ToString();
                else
                    return cook.Value.ToString();
            }
            else
                return null;
        }
    }
    
  • 相关阅读:
    Oracle 11g+Windows10 x64安装、配置过程记录
    json工具类
    restTemplate工具类
    VirtualBox中安装CentOS 7后无法上网问题
    VirtualBox中安装CentOS 7
    idea安装完成后要做的几件事(设置字体、编码、行号)
    MiniUI学习笔记1-新手必读
    BUU-[GKCTF2020]WannaReverse
    BUU-Dragon Quest
    BUU-EzObfus-Chapter2
  • 原文地址:https://www.cnblogs.com/xuxw/p/3321129.html
Copyright © 2011-2022 走看看