/// <summary> /// 添加到缓存 /// </summary> /// <param name="value">被缓存的数据</param> /// <param name="cacheKey">缓存key</param> /// <param name="depency">SQL依赖缓存项</param> public static void SetCache_M(this object value, string cacheKey, SqlDependency dependency_sql) { ObjectCache cache = MemoryCache.Default; CacheItemPolicy policy = new CacheItemPolicy(); //缓存优先级别 policy.Priority = System.Runtime.Caching.CacheItemPriority.Default; cache.Set(cacheKey, value, policy); //设置监视对象 SqlChangeMonitor monitor = new SqlChangeMonitor(dependency_sql); //设置监视对象的回调操作 //依赖文件发生变化 即删除缓存 monitor.NotifyOnChanged(new OnChangedCallback(o => { RemoveCache_M(cacheKey); })); //添加到监视器 policy.ChangeMonitors.Add(monitor); }