private object GetUrlRuleConfigCallBack(CacheItemArgs cacheItemArgs)
{
int PortalId = (int)cacheItemArgs.ParamList[0];
UrlRuleConfiguration config = UrlRuleConfiguration.GenerateConfig(PortalId);
string[] keys = UrlRuleConfiguration.GetCacheKeys(PortalId);
List<string> keyLst = new List<string>();
foreach (string key in keys)
{
if (DataCache.GetCache(key) != null)
{
keyLst.Add(CachingProvider.GetCacheKey(key));
}
}
keys = keyLst.ToArray();
int CacheTimeout = 20 * Convert.ToInt32(DotNetNuke.Entities.Host.Host.PerformanceSetting);
cacheItemArgs.CacheTimeOut = CacheTimeout;
cacheItemArgs.CacheDependency = new DNNCacheDependency(null, keys);
#if DEBUG
cacheItemArgs.CacheCallback = new CacheItemRemovedCallback(this.RemovedCallBack);
#endif
return config;
}