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 ...
随机推荐
- DateUtil工具类
package com.autoserve.mh.common.util; import java.text.SimpleDateFormat; import java.util.Calendar ...
- 关于iPhone设备不同显示尺寸适配的一些方法
关于iPhone设备不同显示尺寸适配的一些方法 ------关于适配的理解------ 1.什么是适配? 适配是对不同硬件和系统软件的适应,硬件包括屏幕显示,处理器,内存等等(目前主要是屏幕适配, ...
- FTP提示505错误解决办法
使用ServerU建FTP服务器时,选定了锁定主文件夹,不选即可解决问题.
- 如何在CentOS配置Apache的HTTPS服务
http://www.4byte.cn/learning/120027/ru-he-zai-centos-pei-zhi-apache-de-https-fu-wu.html
- juqery 拖拽元素
转自 http://www.cnblogs.com/holbrook/archive/2012/03/13/2394111.html 因为怕博主删除博客,所以复制过来! JQuery UI是JQue ...
- 项目组织与管理SPM(理论基础)
- rem的使用
浏览器的默认字体高是16px. 兼容性: 目前,IE9+,Firefox.Chrome.Safari.Opera 的主流版本都支持了rem. 对于不支持的浏览器,要多写一个绝对单位的声明,这样浏览器就 ...
- Bypass WAF Cookbook
PS.之前一直想把零零碎碎的知识整理下来,作为知识沉淀下来,正好借着wooyun峰会的机会将之前的流程又梳理了一遍,于是就有了下文.也希望整理的内容能给甲方工作者或则白帽子带来一些收获. 0x00 概 ...
- Linux基本操作命令
Linux基本操作命令 首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos.我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如do ...
- C#程序以管理员权限运行
原文:C#程序以管理员权限运行 C#程序以管理员权限运行 在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员 ...