CacheHelper
public static ObjectCache Cache { get { return MemoryCache.Default; } } public static bool TryGetCache<T>(string key, ref T value) { object v = null; //Type t = typeof(T); bool hit; hit = TryGetCacheObject(key, ref v); if (hit) value = (T)v; return hit; } public static bool TryGetCacheStruct<T>(string key, ref T value) where T : struct { object v = null; bool hit = TryGetCacheObject(key, ref v); if (hit) value = (T)v; return hit; } public static bool TryGetCacheObject(string key, ref object value) { object v = Cache.Get(key); bool hit = false; if (v == null) hit = false; else if (v == DBNull.Value) { hit = true; value = null; } else { hit = true; value = v; } TraceHelper.Trace("Cache", string.Format("TryGetCache({0}) = {1}", key, hit)); return hit; } public static bool ContainsCache(string key) { return Cache.Contains(key); } public static object GetCache(string key) { return Cache.Get(key); } public static void SetCache(string key, object value) { Cache.Set(key, value, CacheItemPolicy); } public static void SetCache(string key, object value, CacheItemPolicy cacheItemPolicy) { Cache.Set(key, value, cacheItemPolicy); } public static CacheItemPolicy CacheItemPolicy { get { CacheItemPolicy policy = new CacheItemPolicy(); policy.SlidingExpiration = , AppConfiguration.CacheSlidingExpirationInMins, ); return policy; } } public static void ClearCacheByPrefix(string prefix) { List<string> keys = new List<string>(); foreach (var c in Cache) { if (c.Key.StartsWith(prefix)) { keys.Add(c.Key); } } foreach (var key in keys) { Cache.Remove(key); } }
Use:
string cachekey = string.Format("HasPermission_{0}_{1}", User.Id, functionName); bool result = false; if (!WebHelper.TryGetCache(cachekey, ref result)) { result = roleBO.FunctionIsAllowForStaff(functionName, this.CurrentActualUser.Id); WebHelper.SetCache(cachekey, result); }
CacheHelper的更多相关文章
- 缓存工具类CacheHelper
代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- MySqlHelper、CacheHelper
MySqlHelper代码: using System; using System.Collections; using System.Collections.Generic; using Syste ...
- [Cache] C#操作缓存--CacheHelper缓存帮助类 [复制链接]
using System;using System.Web;using System.Collections; namespace DotNet.Utilities{ public class Cac ...
- Asp.net Core CacheHelper 通用缓存帮助类
using System; using Microsoft.Extensions.Caching.Memory; using System.Runtime; namespace UFX.Tools { ...
- [Cache] C#操作缓存--CacheHelper缓存帮助类 (转载)
点击下载 CacheHelper.zip CacheHelper 缓存帮助类 C#怎么操作缓存 怎么设置和取缓存数据,都在这个类里面呢 下面看一下代码吧 /// <summary> /// ...
- CacheHelper工具类的使用
package com.bbcmart.util; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheManager; import ne ...
- C#操作缓存--CacheHelper缓存帮助类
/// <summary>/// 类说明:Assistant/// 联系方式:361983679 /// 更新网站:<a href=\"http://www.cckan. ...
- C#缓存-依赖 CacheHelper
缓存依赖文件或文件夹 //创建缓存依赖项 CacheDependency dep = new CacheDependency(fileName);//Server.MapPath("&quo ...
- C# WebHelper-CookieHelper,CacheHelper,SessionHelper
常用web操作工具类,记录一下,本文记录的工具类,都要求引用 System.Web 1.CookieHelper /// <summary> /// Cookie工具类 /// </ ...
- WebHelper-SessionHelper、CookieHelper、CacheHelper、Tree
ylbtech-Unitity: cs-WebHelper-SessionHelper.CookieHelper.CacheHelper.Tree SessionHelper.cs CookieHel ...
随机推荐
- error C2512: “Rectangle”: 没有合适的默认构造函数可用
解决办法可能为: 1.再构造一个空的显性构造函数:
- 百钱买百鸡问题 php版本
/* * 百钱买百鸡问题 * * 我国古代数学家张丘建在<算经>一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一:百钱买百鸡,则翁.母 ...
- 实验五(简单嵌入式WEB服务器实验)问题总结
实验五问题总结 问题链接:<信息安全系统设计基础>实验五实验报告 虽然将07_httpd文件中全部拷贝进了bc中,文件夹中拥有Makefile文件,但是还是无法通过make得到该文件夹中c ...
- Struts2 OGNL 字符串自定义转化对象细节
要使用Struts2的自定义对象转化,需要几个要点: 1.要有继承DefaultTypeConverter的实现类,要重写convertValue,并且参数value转化而来的String是Strin ...
- Bad Request - Request Too Long
Bad Request - Request Too Long HTTP Error 400. The size of the request headers is too long. 该错误原因导致 ...
- 《Linux内核设计与实现》CHAPTER17阅读梳理
<Linux内核设计与实现>CHAPTER17阅读梳理 [学习时间:3.5hours] [学习内容:设备类型,模块,内核对象,sysfs] 个人思考部分见[]标出的部分 一.课堂讲解整理& ...
- ios程序发布测试打包
1. 获取测试机UDID 手机连接电脑,打开iTunes-摘要-点击序列号,设备概要界面显示设备udid-反键-拷贝 2. 添加设备 取得UDID后,进入开发者中心-iOS PRovisioning ...
- iOS 面试题(四):block 什么时候需要构造循环引用 --转自唐巧
问题 有没有这样一个需求场景,block 会产生循环引用,但是业务又需要你不能使用 weak self? 如果有,请举一个例子并且解释这种情况下如何解决循环引用问题. 答案 需要不使用 weak se ...
- LoadRunner访问Mysql数据库
这是很久以前编写的一个测试案例,那时是为了检查大量往Mysql数据库里插入数据,看一下数据库的性能如何?服务器是否会很快就被写满了. 前期的准备工作:Mysql 数据库搭建,LoadRunner,li ...
- 拥抱基于jquery.deferred的ajax,和层层嵌套回调的ajax说拜拜
前言 在项目中,无论是维护自己的代码,还是重构他人的项目代码,看到层层嵌套,异常冗余的某个function,那时我们的内心肯定是奔溃的! 在jquery1.5版本之前,如果我们某个操作需要多个ajax ...