1.分析下面这段代码
CacheHelper.Insert(DTKeys.CACHE_SITE_URLS, dal.GetList(), Utils.GetXmlMapPath(DTKeys.FILE_URL_XML_CONFING));
参数:唯一的键值;Hashtable类型的列表;文件依赖的路径【当这个文件变化的时候缓存将会失效】
2.在BLL层是这样调用的
/// <summary>
/// 返回URL映射列表
/// </summary>
public Hashtable GetList()
{
//先从缓存中读取,如果没有读取成功就插入对象然后再读取。
//那么缓存多长时间呢?
//当任何依赖项更改时,该对象即无效,并从缓存中移除,这个地方就是当文件变动时,缓存将会失效
Hashtable ht = CacheHelper.Get<Hashtable>(DTKeys.CACHE_SITE_URLS);
if (ht == null)
{
CacheHelper.Insert(DTKeys.CACHE_SITE_URLS, dal.GetList(), Utils.GetXmlMapPath(DTKeys.FILE_URL_XML_CONFING));
ht = CacheHelper.Get<Hashtable>(DTKeys.CACHE_SITE_URLS);
}
return h