Ejemplo n.º 1
0
        private void OnChange(object sender, FileSystemEventArgs e)
        {
            var path = e.FullPath;

            RRTracer.Trace("watcher watched {0}", path);
            var guid             = uriBuilder.ParseKey(path.Replace('\\', '/'));
            var contentSignature = uriBuilder.ParseSignature(path.Replace('\\', '/'));

            if (guid != Guid.Empty)
            {
                var resourceType = RRContainer.Current.GetAllInstances <IResourceType>().SingleOrDefault(x => path.EndsWith(x.FileName, true, CultureInfo.InvariantCulture));
                if (resourceType != null)
                {
                    RRTracer.Trace("New Content {0} and watched: {1}", e.ChangeType, path);
                    if (e.ChangeType == WatcherChangeTypes.Deleted)
                    {
                        ReductionRepository.RemoveReduction(guid);
                    }
                    if ((e.ChangeType == WatcherChangeTypes.Created || e.ChangeType == WatcherChangeTypes.Changed))
                    {
                        ReductionRepository.AddReduction(guid, uriBuilder.BuildResourceUrl(guid, contentSignature, resourceType.GetType()));
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public IDictionary <Guid, string> GetSavedUrls()
        {
            RRTracer.Trace("SqlServerStore Looking for previously saved content.");
            var files = repository.GetActiveFiles();

            return(files.ToDictionary(file => uriBuilder.ParseKey(file), file => uriBuilder.BuildResourceUrl(uriBuilder.ParseKey(file), uriBuilder.ParseSignature(file), RRContainer.GetAllResourceTypes().SingleOrDefault(x => file.EndsWith(x.FileName)).GetType())));
        }
        public virtual string Process(Guid key, string urls)
        {
            RRTracer.Trace("beginning reducing process for {0}", urls);
            var urlList           = SplitUrls(urls);
            var processedResource = ProcessResource(key, urlList);
            var virtualfileName   = string.Empty;

            if (processedResource != null)
            {
                var bytes = Encoding.UTF8.GetBytes(minifier.Minify <T>(processedResource));
                virtualfileName = uriBuilder.BuildResourceUrl <T>(key, bytes);
                store.Save(bytes, virtualfileName, urls);
            }
            RRTracer.Trace("finishing reducing process for {0}", urls);
            return(virtualfileName);
        }
Ejemplo n.º 4
0
        public virtual string Process(Guid key, string urls, string host)
        {
            RRTracer.Trace("beginning reducing process for {0}", urls);
            var urlList           = SplitUrls(urls);
            var processedResource = ProcessResource(key, urlList, host);
            var virtualfileName   = string.Empty;

            if (processedResource != null)
            {
                RRTracer.Trace("beginning minify for {0} with {1} length", urls, processedResource.Length);
                var minified = minifier.Minify <T>(processedResource);
                RRTracer.Trace("{0} minified to {1} bytes", urls, minified.Length);
                var bytes = Encoding.UTF8.GetBytes(minified);
                RRTracer.Trace("{0} encoded to {1} bytes", urls, bytes.Length);
                virtualfileName = uriBuilder.BuildResourceUrl <T>(key, bytes);
                store.Save(bytes, virtualfileName, urls);
            }
            RRTracer.Trace("finishing reducing process for {0}", urls);
            return(virtualfileName);
        }