public override CacheDependency GetCacheDependency(
            string virtualPath,
            IEnumerable virtualPathDependencies,
            DateTime utcStart)
        {
            if (virtualPath.Contains("App_Themes/default"))
            {
                String pathToDependencyFile = CacheHelper.GetPathToThemeCacheDependencyFile();
                String pathToThemeFile      = SiteUtils.GetFullPathToThemeFile();
                if (pathToDependencyFile != null)
                {
                    AggregateCacheDependency dependency = new AggregateCacheDependency();
                    dependency.Add(new CacheDependency(pathToDependencyFile));
                    try
                    {
                        dependency.Add(new CacheDependency(pathToThemeFile));
                    }
                    catch (HttpException)
                    { // this can happen if the site is configured for a skin that doesn't exist
                    }
                    return(dependency);
                }
            }

            return(base.GetCacheDependency(virtualPath, virtualPathDependencies, utcStart));
        }
        public override CacheDependency GetCacheDependency(
            string virtualPath,
            IEnumerable virtualPathDependencies,
            DateTime utcStart)
        {
            if (IsThemePath(virtualPath))
            {
                AggregateCacheDependency dependency = new AggregateCacheDependency();

                string pathToWebConfig = CacheHelper.GetPathToWebConfigFile();
                dependency.Add(new CacheDependency(pathToWebConfig));

                if (WebConfigSettings.UseCacheDependencyFiles)
                {
                    string pathToDependencyFile = CacheHelper.GetPathToThemeCacheDependencyFile();
                    if (!string.IsNullOrEmpty(pathToDependencyFile))
                    {
                        dependency.Add(new CacheDependency(pathToDependencyFile));
                    }
                }

                string pathToThemeFile = SiteUtils.GetFullPathToThemeFile();
                if (!string.IsNullOrEmpty(pathToThemeFile))
                {
                    try
                    {
                        dependency.Add(new CacheDependency(pathToThemeFile));
                    }
                    catch (HttpException)
                    { // this can happen if the site is configured for a skin that doesn't exist
                    }
                }

                return(dependency);
            }

            return(Previous.GetCacheDependency(virtualPath, virtualPathDependencies, utcStart));
        }