星空网 > 软件开发 > ASP.net

C#语法糖之 session操作类 asp.net

用法:

  //声名一个数据集合      var listString = new List<string>() { "a", "b", "c" };      //session key      string key = "sekey";      //获取实例      var sessionManager = SessionManager<List<string>>.GetInstance();      //添加session      sessionManager.Add(key, listString);      //add有其它重载 上面是最基本的      //获取      List<string> sessionList = sessionManager[key];      //其它方法      sessionManager.ContainsKey(key);      sessionManager.Remove(key);//删除      sessionManager.RemoveAll(c => c.Contains("sales_"));//删除key包含sales_的session      sessionManager.GetAllKey();//获取所有key

  

 

 

代码:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web;namespace SyntacticSugar{  /// <summary>  /// ** 描述:session操作类  /// ** 创始时间:2015-6-9  /// ** 修改时间:-  /// ** 作者:sunkaixuan  /// ** 使用说明:  /// </summary>  /// <typeparam name="K">键</typeparam>  /// <typeparam name="V">值</typeparam>  public class SessionManager<V> : IHttpStorageObject<V>  {    private static readonly object _instancelock = new object();    private static SessionManager<V> _instance = null;    public static SessionManager<V> GetInstance()    {      if (_instance == null)      {        lock (_instancelock)        {          if (_instance == null)          {            _instance = new SessionManager<V>();          }        }      }      return _instance;    }    public override void Add(string key, V value)    {      context.Session.Add(key, value);    }    public override bool ContainsKey(string key)    {      return context.Session[key] != null;    }    public override V Get(string key)    {      return (V)context.Session[key];    }    public override IEnumerable<string> GetAllKey()    {      foreach (var key in context.Session.Keys)      {        yield return key.ToString();      }    }    public override void Remove(string key)    {      context.Session[key] = null;      context.Session.Remove(key);    }    public override void RemoveAll()    {      foreach (var key in GetAllKey())      {        Remove(key);      }    }    public override void RemoveAll(Func<string, bool> removeExpression)    {      var allKeyList = GetAllKey().ToList();      var removeKeyList = allKeyList.Where(removeExpression).ToList();      foreach (var key in removeKeyList)      {        Remove(key);      }    }    public override V this[string key]    {      get { return (V)context.Session[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; }  }}

  




原标题:C#语法糖之 session操作类 asp.net

关键词:ASP.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

博客:https://www.ikjzd.com/w/1573153413907521537
Bluefly:https://www.ikjzd.com/w/1573153424964050945
蓝色星期五(BlueFriday):https://www.ikjzd.com/w/1573153435516919810
智蓝电商:https://www.ikjzd.com/w/1573153436850708482
蓝海市场:https://www.ikjzd.com/w/1573153440251944961
鲸汇ERP:https://www.ikjzd.com/w/1573153444098465794
三亚有哪些酒店值得入住?:https://www.vstour.cn/a/366173.html
零售晚报:丽人丽妆2023年扭亏为盈 玉容初、美壹堂等自有品牌增速超40% :https://www.kjdsnews.com/a/1836649.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流