文件缓存依赖
=================文件依赖===============================
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
string configFilePath = GetConfigFilePath();
//创建一个缓存,目的是监视bbsmax.config文件的改动
HttpRuntime.Cache.Add("bbsmax.config", true, new System.Web.Caching.CacheDependency(configFilePath), Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, OnAppConfigRemove);
//创建一个缓存,目的是监视bbsmax.config文件的改动
HttpRuntime.Cache.Add("bbsmax.config", true, new System.Web.Caching.CacheDependency(configFilePath), Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, OnAppConfigRemove);
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
// 摘要:
// 定义在从 System.Web.Caching.Cache 移除缓存项时通知应用程序的回调方法。
//
// 参数:
// key:
// 从缓存中移除的键。
//
// value:
// 与从缓存中移除的键关联的 System.Object 项。
//
// reason:
// System.Web.Caching.CacheItemRemovedReason 枚举指定的、从缓存移除项的原因。
public delegate void CacheItemRemovedCallback(string key, object value, CacheItemRemovedReason reason);
// 定义在从 System.Web.Caching.Cache 移除缓存项时通知应用程序的回调方法。
//
// 参数:
// key:
// 从缓存中移除的键。
//
// value:
// 与从缓存中移除的键关联的 System.Object 项。
//
// reason:
// System.Web.Caching.CacheItemRemovedReason 枚举指定的、从缓存移除项的原因。
public delegate void CacheItemRemovedCallback(string key, object value, CacheItemRemovedReason reason);
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
/// <summary>
/// 一旦bbsmax.config发生了变动会立即触发本静态方法
/// </summary>
/// <param name="key"></param>
/// <param name="cacheItem"></param>
/// <param name="reason"></param>
private static void OnAppConfigRemove(string key, object cacheItem, System.Web.Caching.CacheItemRemovedReason reason)
/// 一旦bbsmax.config发生了变动会立即触发本静态方法
/// </summary>
/// <param name="key"></param>
/// <param name="cacheItem"></param>
/// <param name="reason"></param>
private static void OnAppConfigRemove(string key, object cacheItem, System.Web.Caching.CacheItemRemovedReason reason)