Beispiel #1
0
        /// <summary>
        /// Add the images to the cache so that they are monitored for any changes.
        /// </summary>
        /// <param name="imageOutputPath">Sprite image output path.</param>
        /// <param name="spriteImageUrl">Sprite image url.</param>
        /// <param name="cssOutputPath">Sprite css output path.</param>
        /// <param name="files">The component images for the sprite.</param>
        public virtual void AddFilesToCache(FileInfo imageOutputPath, Uri spriteImageUrl, FileInfo cssOutputPath, IEnumerable <ImageFile> files)
        {
            var fileNames = new List <string>
            {
                imageOutputPath.FullName,
                cssOutputPath.FullName
            };

            foreach (var file in files)
            {
                fileNames.Add(PathProvider.MapPath(file.FilePath));
            }

            var cssSpriteCacheItem = new CssSpriteCacheItem()
            {
                ImageFiles      = files,
                CssOutputPath   = cssOutputPath,
                ImageOutputPath = imageOutputPath,
                SpriteImageUrl  = spriteImageUrl
            };

            CacheManager.Insert(
                GetKey(imageOutputPath, spriteImageUrl, cssOutputPath),
                cssSpriteCacheItem,
                new CacheDependency(fileNames.ToArray(), System.DateTime.Now),
                Cache.NoAbsoluteExpiration,
                Cache.NoSlidingExpiration,
                CacheItemPriority.High,
                FileRemoved);
        }
Beispiel #2
0
        /// <summary>
        /// Add the images to the cache so that they are monitored for any changes.
        /// </summary>
        /// <param name="imageOutputPath">Sprite image output path.</param>
        /// <param name="outputUri">Sprite image url.</param>
        /// <param name="cssOutputPath">Sprite css output path.</param>
        /// <param name="files">The component images for the sprite.</param>
        public virtual void AddFilesToCache(FileInfo imageOutputPath, Uri outputUri, FileInfo cssOutputPath, IEnumerable <ImageFile> filesToWatch, IEnumerable <ImageFile> files, IEnumerable <Talifun.FileWatcher.IEnhancedFileSystemWatcher> foldersToWatch, IEnumerable <ImageDirectory> directories)
        {
            var fileNames = new List <string>
            {
                imageOutputPath.FullName,
                cssOutputPath.FullName
            };

            fileNames.AddRange(filesToWatch.Select(fileToWatch => new Uri(PathProvider.MapPath(fileToWatch.FilePath)).LocalPath));

            var cssSpriteCacheItem = new CssSpriteCacheItem()
            {
                Files           = files,
                Directories     = directories,
                CssOutputPath   = cssOutputPath,
                ImageOutputPath = imageOutputPath,
                FoldersToWatch  = foldersToWatch,
                FilesToWatch    = filesToWatch,
                SpriteImageUrl  = outputUri
            };

            CacheManager.Insert(
                GetKey(outputUri),
                cssSpriteCacheItem,
                new CacheDependency(fileNames.ToArray(), System.DateTime.Now),
                Cache.NoAbsoluteExpiration,
                Cache.NoSlidingExpiration,
                CacheItemPriority.High,
                FileRemoved);

            foreach (var enhancedFileSystemWatcher in foldersToWatch)
            {
                enhancedFileSystemWatcher.FileActivityFinishedEvent += OnFileActivityFinishedEvent;
                enhancedFileSystemWatcher.UserState = outputUri;
                enhancedFileSystemWatcher.Start();
            }
        }
        /// <summary>
        /// Add the images to the cache so that they are monitored for any changes.
        /// </summary>
        /// <param name="imageOutputPath">Sprite image output path.</param>
        /// <param name="outputUri">Sprite image url.</param>
        /// <param name="cssOutputPath">Sprite css output path.</param>
        /// <param name="files">The component images for the sprite.</param>
        public virtual void AddFilesToCache(FileInfo imageOutputPath, Uri outputUri, FileInfo cssOutputPath, IEnumerable<ImageFile> filesToWatch, IEnumerable<ImageFile> files, IEnumerable<Talifun.FileWatcher.IEnhancedFileSystemWatcher> foldersToWatch, IEnumerable<ImageDirectory> directories)
        {
            var fileNames = new List<string>
            {
                imageOutputPath.FullName,
                cssOutputPath.FullName
            };
            fileNames.AddRange(filesToWatch.Select(fileToWatch => new Uri(PathProvider.MapPath(fileToWatch.FilePath)).LocalPath));

            var cssSpriteCacheItem = new CssSpriteCacheItem()
            {
                Files = files,
                Directories = directories,
                CssOutputPath = cssOutputPath,
                ImageOutputPath = imageOutputPath,
                FoldersToWatch = foldersToWatch,
                FilesToWatch = filesToWatch,
                SpriteImageUrl = outputUri
            };

            CacheManager.Insert(
                GetKey(outputUri),
                cssSpriteCacheItem,
                new CacheDependency(fileNames.ToArray(), System.DateTime.Now),
                Cache.NoAbsoluteExpiration,
                Cache.NoSlidingExpiration,
                CacheItemPriority.High,
                FileRemoved);

            foreach (var enhancedFileSystemWatcher in foldersToWatch)
            {
                enhancedFileSystemWatcher.FileActivityFinishedEvent += OnFileActivityFinishedEvent;
                enhancedFileSystemWatcher.UserState = outputUri;
                enhancedFileSystemWatcher.Start();
            }
        }
        /// <summary>
        /// Add the images to the cache so that they are monitored for any changes.
        /// </summary>
        /// <param name="imageOutputPath">Sprite image output path.</param>
        /// <param name="spriteImageUrl">Sprite image url.</param>
        /// <param name="cssOutputPath">Sprite css output path.</param>
        /// <param name="files">The component images for the sprite.</param>
        public virtual void AddFilesToCache(FileInfo imageOutputPath, Uri spriteImageUrl, FileInfo cssOutputPath, IEnumerable<ImageFile> files)
        {
            var fileNames = new List<string>
                                {
                                    imageOutputPath.FullName,
                                    cssOutputPath.FullName
                                };

            foreach (var file in files)
            {
                fileNames.Add(HostingEnvironment.MapPath(file.FilePath));
            }

            var cssSpriteCacheItem = new CssSpriteCacheItem()
            {
                ImageFiles = files,
                CssOutputPath = cssOutputPath,
                ImageOutputPath = imageOutputPath,
                SpriteImageUrl = spriteImageUrl
            };

            HttpRuntime.Cache.Insert(
                GetKey(imageOutputPath, spriteImageUrl, cssOutputPath),
                cssSpriteCacheItem,
                new CacheDependency(fileNames.ToArray(), System.DateTime.Now),
                Cache.NoAbsoluteExpiration,
                Cache.NoSlidingExpiration,
                CacheItemPriority.High,
                FileRemoved);
        }