/// <summary> /// Gets local css assets that exist. /// </summary> /// <returns>A list of FileInfo of css assets that exist.</returns> public IEnumerable <CssAsset> GetLocalCssAssetFilesThatExist() { _assetsLock.EnterUpgradeableReadLock(); try { if (_localCssAssetFilesThatExist == null) { _assetsLock.EnterWriteLock(); try { if (_localCssAssetFilesThatExist == null) { var contents = GetContents(); var cssAbsoluteUriDirectory = _pathProvider.GetAbsoluteUriDirectory(_cssRootUri); _localCssAssetFilesThatExist = GetCssAssets(cssAbsoluteUriDirectory, contents); } } finally { _assetsLock.ExitWriteLock(); } } return(_localCssAssetFilesThatExist); } finally { _assetsLock.ExitUpgradeableReadLock(); } }
public CssFileProcessor(IRetryableFileOpener retryableFileOpener, IPathProvider pathProvider, ICssPathRewriter cssPathRewriter, string filePath, CssCompressionType compressionType, Uri cssRootUri, bool appendHashToAssets) { _retryableFileOpener = retryableFileOpener; _pathProvider = pathProvider; _cssPathRewriter = cssPathRewriter; CompressionType = compressionType; _fileInfo = new FileInfo(new Uri(_pathProvider.MapPath(filePath)).LocalPath); _cssRootUri = cssRootUri; var absoluteUriDirectory = _pathProvider.GetAbsoluteUriDirectory(filePath); _modules = new List <ICssModule>() { new DotLessModule(), new RelativePathModule(absoluteUriDirectory, cssPathRewriter), new CssAssetsHashModule(appendHashToAssets, cssPathRewriter, pathProvider) }; }
public CssFileProcessor(IRetryableFileOpener retryableFileOpener, IPathProvider pathProvider, ICssPathRewriter cssPathRewriter, string filePath, CssCompressionType compressionType, Uri cssRootUri, bool appendHashToAssets) { _retryableFileOpener = retryableFileOpener; _pathProvider = pathProvider; _cssPathRewriter = cssPathRewriter; CompressionType = compressionType; _fileInfo = new FileInfo(new Uri(_pathProvider.MapPath(filePath)).LocalPath); _cssRootUri = cssRootUri; var absoluteUriDirectory = _pathProvider.GetAbsoluteUriDirectory(filePath); _modules = new List<ICssModule>() { new DotLessModule(), new RelativePathModule(absoluteUriDirectory, cssPathRewriter), new CssAssetsHashModule(appendHashToAssets, cssPathRewriter, pathProvider) }; }