示例#1
0
        /// <summary>
        /// Add the js files to the cache so that they are monitored for any changes.
        /// </summary>
        /// <param name="outputUri">The path for the crushed js file.</param>
        /// <param name="jsFiles">The js files to be crushed.</param>
        public virtual void AddFilesToCache(Uri outputUri, IEnumerable<JsFile> jsFiles)
        {
            var fileNames = new List<string>
                                {
                                     PathProvider.MapPath(outputUri)
                                };

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

            var jsCacheItem = new JsCacheItem()
                                  {
                                      OutputUri = outputUri,
                                      JsFiles = jsFiles
                                  };

            HttpRuntime.Cache.Insert(
                GetKey(outputUri),
                jsCacheItem,
                new CacheDependency(fileNames.ToArray(), System.DateTime.Now),
                Cache.NoAbsoluteExpiration,
                Cache.NoSlidingExpiration,
                CacheItemPriority.High,
                FileRemoved);
        }
示例#2
0
        /// <summary>
        /// Add the js files to the cache so that they are monitored for any changes.
        /// </summary>
        /// <param name="outputUri">The path for the crushed js file.</param>
        /// <param name="filesToWatch">Files that are crushed.</param>
        /// <param name="files">The js files to be crushed.</param>
        /// <param name="foldersToWatch"> </param>
        /// <param name="directories">The js directories to be crushed.</param>
        public virtual void AddGroupToCache(Uri outputUri, IEnumerable <JsFileToWatch> filesToWatch, IEnumerable <JsFile> files, IEnumerable <Talifun.FileWatcher.IEnhancedFileSystemWatcher> foldersToWatch, IEnumerable <JsDirectory> directories)
        {
            var fileNames = new List <string>
            {
                PathProvider.MapPath(outputUri)
            };

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

            var cacheItem = new JsCacheItem()
            {
                OutputUri      = outputUri,
                FilesToWatch   = filesToWatch,
                Files          = files,
                FoldersToWatch = foldersToWatch,
                Directories    = directories
            };

            CacheManager.Insert(
                GetKey(outputUri),
                cacheItem,
                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();
            }
        }
示例#3
0
        /// <summary>
        /// Add the js files to the cache so that they are monitored for any changes.
        /// </summary>
        /// <param name="outputUri">The path for the crushed js file.</param>
        /// <param name="jsFiles">The js files to be crushed.</param>
        public virtual void AddFilesToCache(Uri outputUri, IEnumerable <JsFile> jsFiles)
        {
            var fileNames = new List <string>
            {
                PathProvider.MapPath(outputUri)
            };

            fileNames.AddRange(jsFiles.Select(file => PathProvider.MapPath(file.FilePath)));

            var jsCacheItem = new JsCacheItem()
            {
                OutputUri = outputUri,
                JsFiles   = jsFiles
            };

            CacheManager.Insert(
                GetKey(outputUri),
                jsCacheItem,
                new CacheDependency(fileNames.ToArray(), System.DateTime.Now),
                Cache.NoAbsoluteExpiration,
                Cache.NoSlidingExpiration,
                CacheItemPriority.High,
                FileRemoved);
        }
示例#4
0
        /// <summary>
        /// Add the js files to the cache so that they are monitored for any changes.
        /// </summary>
        /// <param name="outputUri">The path for the crushed js file.</param>
        /// <param name="filesToWatch">Files that are crushed.</param>
        /// <param name="files">The js files to be crushed.</param>
        /// <param name="foldersToWatch"> </param>
        /// <param name="directories">The js directories to be crushed.</param>
        public virtual void AddGroupToCache(Uri outputUri, IEnumerable<JsFileToWatch> filesToWatch, IEnumerable<JsFile> files, IEnumerable<Talifun.FileWatcher.IEnhancedFileSystemWatcher> foldersToWatch, IEnumerable<JsDirectory> directories)
        {
            var fileNames = new List<string>
            {
                    PathProvider.MapPath(outputUri)
            };

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

            var cacheItem = new JsCacheItem()
            {
                OutputUri = outputUri,
                FilesToWatch = filesToWatch,
                Files = files,
                FoldersToWatch = foldersToWatch,
                Directories = directories
            };

            CacheManager.Insert(
                GetKey(outputUri),
                cacheItem,
                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();
            }
        }