public static void NotifyRefreshCache(CacheDependencyEnum cacheDependency, CacheDependencyActionType actionType, object dependencyArgument) { string key = cacheDependency.ToString() + "_" + actionType.ToString(); if (CacheStaticDomain.Instance.CacheDependencys.ContainsKey(key) && CacheStaticDomain.Instance.CacheDependencys[key].Count > 0) { foreach (CacheKeyEnum cacheKey in CacheStaticDomain.Instance.CacheDependencys[key]) { int pos = cacheKey.ToString().IndexOf("_"); string cacheKeyPrefix = cacheKey.ToString().Substring(0, pos); if (cacheKeyPrefix.Equals(cacheDependency.ToString())) { if (dependencyArgument == null) { RefreshCache(cacheKey); } else { RemoveCache(cacheKey, dependencyArgument); } } else { RefreshCache(cacheKey); } } } }
public static void NotifyRefreshCache(CacheDependencyEnum cacheDependency, CacheDependencyActionType actionType, object dependencyModel, string tranId) { if (string.IsNullOrEmpty(tranId)) { NotifyRefreshCache(cacheDependency, actionType, dependencyModel); } else { CacheNotifyTranContainer.Instance.Add(tranId, new CacheNotifyTranObject(cacheDependency, actionType, dependencyModel)); } }
public CacheDependencyAttibute(string cacheDependencyStr) : this() { string[] segments = cacheDependencyStr.Split('|'); foreach (string segment in segments) { string[] fields = segment.Split(new char[] { ':', ',' }); CacheDependencyEnum cacheDependencyEnum = (CacheDependencyEnum)(Convert.ToInt32(fields[0])); CacheDependencys[cacheDependencyEnum] = new CacheDependencyActionType[fields.Length - 1]; for (int index = 1; index < fields.Length; index++) { CacheDependencyActionType cacheDependencyActionType = (CacheDependencyActionType)(Convert.ToInt32(fields[index])); CacheDependencys[cacheDependencyEnum][index - 1] = cacheDependencyActionType; } } }
public CacheNotifyTranObject(CacheDependencyEnum cacheDependency, CacheDependencyActionType actionType, object dependencyModel) { CacheDependency = cacheDependency; ActionType = actionType; DependencyModel = dependencyModel; }