亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#語法糖之Cookies操作類 asp.net

2019-11-17 02:09:26
字體:
來源:轉載
供稿:網友

C#語法糖之Cookies操作類 asp.net

用法:

   //聲名一個數據集合            var listString = new List<string>() { "a", "b", "c" };            //緩存key            string key = "cokey";            //獲取實例            var cookiesManager = CookiesManager<List<string>>.GetInstance();            //插入緩存            cookiesManager.Add(key, listString, cookiesManager.Minutes * 30);//過期30分鐘             //add有其它重載 上面是最基本的            //獲取            List<string> cookiesList = cookiesManager[key];            //其它方法            cookiesManager.ContainsKey(key);            cookiesManager.Remove(key);//刪除            cookiesManager.RemoveAll(c => c.Contains("sales_"));//刪除key包含sales_的cookies            cookiesManager.GetAllKey();//獲取所有key

  

代碼:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web;namespace SyntacticSugar{    /// <summary>    /// ** 描述:cookies操作類    /// ** 創始時間:2015-6-9    /// ** 修改時間:-    /// ** 作者:sunkaixuan    /// ** 使用說明:    /// </summary>    /// <typeparam name="V">值</typeparam>    public class CookiesManager<V> : IHttpStorageObject<V>    {        #region 全局變量        PRivate static CookiesManager<V> _instance = null;        private static readonly object _instanceLock = new object();        #endregion        /// <summary>                 /// 獲取實例 (單例模式)               /// </summary>                 /// <returns></returns>                 public static CookiesManager<V> GetInstance()        {            if (_instance == null)                lock (_instanceLock)                    if (_instance == null)                        _instance = new CookiesManager<V>();            return _instance;        }        /// <summary>        /// 添加cookies ,注意value最大4K (默認1天)        /// </summary>        /// <param name="key">key</param>        /// <param name="value">value</param>        public override void Add(string key, V value)        {            Add(key, value, Day);        }        /// <summary>        /// 添加cookies ,注意value最大4K        /// </summary>        /// <param name="key"></param>        /// <param name="value"></param>        /// <param name="cookiesDurationInSeconds">有效時間單位秒</param>        public void Add(string key, V value, int cookiesDurationInSeconds)        {            HttpResponse response = HttpContext.Current.Response;            if (response != null)            {                HttpCookie cookie = response.Cookies[key];                if (cookie != null)                {                    if (typeof(V) == typeof(string))                    {                        string setValue = value.ToString();                        Add(key, cookiesDurationInSeconds, cookie, setValue, response);                    }                    else                    {                        System.Web.Script.Serialization.javaScriptSerializer jss = new System.Web.Script.Serialization.JavascriptSerializer();                        string setValue = jss.Serialize(value);                        Add(key, cookiesDurationInSeconds, cookie, setValue, response);                    }                }            }        }        private void Add(string key, int cookiesDurationInSeconds, HttpCookie cookie, string setValue, HttpResponse response)        {            if (!string.IsNullOrEmpty(key) && cookie.HasKeys)                cookie.Values.Set(key, setValue);            else                if (!string.IsNullOrEmpty(setValue))                    cookie.Value = setValue;            if (cookiesDurationInSeconds > 0)                cookie.Expires = DateTime.Now.AddSeconds(cookiesDurationInSeconds);            response.SetCookie(cookie);        }        public override bool ContainsKey(string key)        {            return Get(key) != null;        }        public override V Get(string key)        {            string value = string.Empty;            if (context.Request.Cookies[key] != null)                value = context.Request.Cookies[key].Value;            if (typeof(V) == typeof(string))            {                return (V)Convert.ChangeType(value, typeof(V));            }            else            {                System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();                return jss.Deserialize<V>(value);            }        }        public override IEnumerable<string> GetAllKey()        {            var allKeyList = context.Request.Cookies.AllKeys.ToList();            foreach (var key in allKeyList)            {                yield return key;            }        }        public override void Remove(string key)        {            HttpRequest request = HttpContext.Current.Request;            if (request != null)            {                HttpCookie cookie = request.Cookies[key];                cookie.Expires = DateTime.Now.AddDays(-1);                if (cookie != null)                {                    if (!string.IsNullOrEmpty(key) && cookie.HasKeys)                        cookie.Values.Remove(key);                    else                        request.Cookies.Remove(key);                }            }        }        public override void RemoveAll()        {            foreach (var key in GetAllKey())            {                Remove(key);            }        }        public override void RemoveAll(Func<string, bool> removeExpression)        {            var removeList = GetAllKey().Where(removeExpression).ToList();            foreach (var key in removeList)            {                Remove(key);            }        }        public override V this[string key]        {            get { return Get(key); }        }    }}

  

using System;namespace SyntacticSugar{    public abstract class IHttpStorageObject<V>    {        public int Minutes = 60;        public int Hour = 60 * 60;        public int Day = 60 * 60 * 24;        public System.Web.HttpContext context = System.Web.HttpContext.Current;        public abstract void Add(string key, V value);        public abstract bool ContainsKey(string key);        public abstract V Get(string key);        public abstract global::System.Collections.Generic.IEnumerable<string> GetAllKey();        public abstract void Remove(string key);        public abstract void RemoveAll();        public abstract void RemoveAll(Func<string, bool> removeExpression);        public abstract V this[string key] { get; }    }}

  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一级做a爰片久久毛片美女图片| 免费不卡欧美自拍视频| 亚洲电影av在线| 亚洲人成电影网站色xx| 国产精品日韩在线一区| 欧美一区二区大胆人体摄影专业网站| 亚洲福利影片在线| 日本午夜精品理论片a级appf发布| 日韩高清电影免费观看完整版| 欧美激情精品久久久久久变态| 日韩在线视频网| 国产精品欧美日韩| 欧美乱大交做爰xxxⅹ性3| 久久91亚洲精品中文字幕奶水| 免费av一区二区| 久久99精品久久久久久琪琪| 97免费中文视频在线观看| 亚洲精品久久在线| 国产一区二区三区视频在线观看| 欧美日韩国产成人在线观看| 日韩av网站在线| 国产色婷婷国产综合在线理论片a| 不卡av在线播放| 精品爽片免费看久久| 国产精品黄色影片导航在线观看| 久久国产精品99国产精| 一区二区三区视频免费在线观看| 精品国产乱码久久久久久天美| 中文字幕亚洲激情| 精品一区二区电影| 国产区精品在线观看| 在线观看欧美日韩国产| 国产精品丝袜一区二区三区| 国产一级揄自揄精品视频| 国产亚洲视频在线| 国内精品小视频在线观看| 亚洲精品www久久久久久广东| 亚洲综合国产精品| 日韩精品视频在线观看网址| 久久久久九九九九| 国产亚洲美女精品久久久| 久久亚洲欧美日韩精品专区| 欧美日韩中文字幕综合视频| 日本精品视频在线观看| 欧美激情乱人伦| 亚洲自拍另类欧美丝袜| 国产一区二中文字幕在线看| 国产97在线播放| 亚洲精品色婷婷福利天堂| 91国语精品自产拍在线观看性色| 91av在线看| 日韩在线观看你懂的| 大量国产精品视频| 日本高清久久天堂| 精品少妇v888av| 国产香蕉精品视频一区二区三区| 精品伊人久久97| 国产一区二区三区欧美| 日韩视频免费在线观看| 色偷偷噜噜噜亚洲男人的天堂| 精品亚洲va在线va天堂资源站| 亚洲天堂av在线免费| 欧美成人在线影院| 国产精品视频午夜| 日韩精品在线看| 久久99久久亚洲国产| 亚洲精品xxxx| 国内精品国产三级国产在线专| 欧美日韩中文字幕在线| 欧美一区二区三区精品电影| 亚洲乱亚洲乱妇无码| 亚洲最新av网址| 亚洲人在线视频| 国产成+人+综合+亚洲欧洲| 久久影视电视剧免费网站清宫辞电视| 国产精品私拍pans大尺度在线| 国产欧美欧洲在线观看| 亚洲视频第一页| 色阁综合伊人av| 国产精品九九久久久久久久| 久久夜色精品国产亚洲aⅴ| 亚洲欧美日韩中文视频| 国产精品大片wwwwww| 国产精品99久久久久久白浆小说| 欧美黄色www| 在线中文字幕日韩| 国产精品久久久久久中文字| 亚洲美女视频网| 亚洲最大福利视频网| 欧美日韩国产精品| 精品国产区一区二区三区在线观看| 亚洲精品欧美极品| 日韩成人在线视频网站| 欧美激情视频一区二区三区不卡| 日韩av影片在线观看| 亚洲国产欧美一区二区三区同亚洲| 成人久久精品视频| 久久精品人人做人人爽| 国产日韩在线一区| 亚洲精品98久久久久久中文字幕| 在线观看国产欧美| 精品视频偷偷看在线观看| 亚洲男人第一av网站| 国产精品久久久久av免费| 亚洲第一网中文字幕| 久久久www成人免费精品张筱雨| 国产亚洲精品va在线观看| 成人免费观看网址| 国产精品视频久久久久| 欧美伊久线香蕉线新在线| 亚洲精品国精品久久99热一| 欧美亚洲在线观看| 91高清免费在线观看| 欧美午夜性色大片在线观看| 岛国视频午夜一区免费在线观看| 一本大道久久加勒比香蕉| 91人人爽人人爽人人精88v| 日韩美女免费观看| 欧美高清理论片| 国内精品久久久久久中文字幕| 亚洲高清福利视频| 久久成年人免费电影| 国产美女高潮久久白浆| 亚洲国内精品视频| 国产精品综合久久久| 国产女同一区二区| 日韩精品免费一线在线观看| 136fldh精品导航福利| 精品国产一区二区三区在线观看| 日韩欧美在线免费观看| 成人午夜一级二级三级| 一区二区三区黄色| 久久五月情影视| 欧美高清不卡在线| 亚洲国产成人精品久久| 欧美疯狂做受xxxx高潮| 国产成人+综合亚洲+天堂| 日韩av在线影视| 国产精自产拍久久久久久| 亚洲第一精品福利| 久久久久亚洲精品| 欧美日韩成人黄色| 日韩在线观看电影| 69av视频在线播放| 欧美精品免费看| 亚洲一级片在线看| 日韩美女免费线视频| 亚洲男人天堂久| 亚洲欧美国产精品| 亚洲国产欧美一区二区三区同亚洲| 海角国产乱辈乱精品视频| 中文一区二区视频| 黄色一区二区三区| 久久久噜噜噜久久久| 欧美激情一区二区三级高清视频| 欧美二区在线播放| 日本国产一区二区三区| 亚洲精品久久久久中文字幕欢迎你| 成人h视频在线观看播放| 欧美电影免费观看网站| 亚洲老头同性xxxxx| 日韩在线免费av| 久久成人在线视频| 九九精品在线播放|