示例#1
0
        /// <summary>
        /// Invalidate the cache
        /// </summary>
        /// <param name="section">The section to be invalidated</param>
        /// <param name="cacheType">The cache to be invalidated</param>
        public static void InvalidateCache(string section, CacheType cacheType)
        {
            m_Logger.DebugFormat("InvalidateCache {0}, type: {1}", section, cacheType);

            // Invalidate the local cache
            if (cacheType.IsSet(CacheType.Local))
            {
                InvalidateLocalCache(section);
            }

            // Invalidate the remote cache
            // (This just calls a handler on this website on the other domains to invalidate the cache)
            if (cacheType.IsSet(CacheType.Remote))
            {
                RemoteCacheInvalidator remoteCacheInvalidator = new RemoteCacheInvalidator(section);
                Thread t = new Thread(remoteCacheInvalidator.CallInvalidateUrl)
                {
                    IsBackground = true, Priority = ThreadPriority.Lowest
                };
                t.Start();
            }
        }