Example #1
0
        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);
                    }
                }
            }
        }
Example #2
0
 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;
                }
            }
        }
Example #4
0
 public CacheNotifyTranObject(CacheDependencyEnum cacheDependency, CacheDependencyActionType actionType, object dependencyModel)
 {
     CacheDependency = cacheDependency;
     ActionType      = actionType;
     DependencyModel = dependencyModel;
 }