首页 > 代码库 > C# CacheHepler Class
C# CacheHepler Class
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | internal class CacheHelper { /// <summary> /// Insert value into the cache using /// appropriate name/value pairs /// </summary> /// <typeparam name="T">Type of cached item</typeparam> /// <param name="o">Item to be cached</param> /// <param name="key">Name of item</param> public static void Add<T>(T o, string key) { // NOTE: Apply expiration parameters as you see fit. // In this example, I want an absolute // timeout so changes will always be reflected // at that time. Hence, the NoSlidingExpiration. HttpContext.Current.Cache.Insert( key, o, null , DateTime.Now.AddMinutes(1440), System.Web.Caching.Cache.NoSlidingExpiration); } /// <summary> /// Remove item from cache /// </summary> /// <param name="key">Name of cached item</param> public static void Clear( string key) { HttpContext.Current.Cache.Remove(key); } /// <summary> /// Check for item in cache /// </summary> /// <param name="key">Name of cached item</param> /// <returns></returns> public static bool Exists( string key) { return HttpContext.Current.Cache[key] != null ; } /// <summary> /// Retrieve cached item /// </summary> /// <typeparam name="T">Type of cached item</typeparam> /// <param name="key">Name of cached item</param> /// <param name="value">Cached value. Default(T) if /// item doesn‘t exist.</param> /// <returns>Cached item as type</returns> public static bool Get<T>( string key, out T value) { try { if (!Exists(key)) { value = http://www.mamicode.com/ default (T); return false ; } value = http://www.mamicode.com/(T) HttpContext.Current.Cache[key]; } catch { value = http://www.mamicode.com/ default (T); return false ; } return true ; } |
使用方法:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public override List<Employee> GetEmployeeList() { string key = ConfigurationHelper.CacheKeyEmployeeList; List<Employee> employees = CacheHelper.Get<List<Employee>>(key); if (employees == null ) { employees = instance.GetEmployeeList(); CacheHelper.Add(employees, key); } return employees; } |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。