|
|
@ -67,10 +67,9 @@ public class BundleManager : IBundleManager, ITransientDependency |
|
|
|
|
|
|
|
|
protected virtual async Task<IReadOnlyList<BundleFile>> GetBundleFilesAsync(BundleConfigurationCollection bundles, string bundleName, IBundler bundler) |
|
|
protected virtual async Task<IReadOnlyList<BundleFile>> GetBundleFilesAsync(BundleConfigurationCollection bundles, string bundleName, IBundler bundler) |
|
|
{ |
|
|
{ |
|
|
var result = new List<BundleFile>(); |
|
|
var files = new List<BundleFile>(); |
|
|
|
|
|
|
|
|
var contributors = GetContributors(bundles, bundleName); |
|
|
var contributors = GetContributors(bundles, bundleName); |
|
|
|
|
|
|
|
|
var bundleFiles = RequestResources.TryAdd(await GetBundleFilesAsync(contributors)); |
|
|
var bundleFiles = RequestResources.TryAdd(await GetBundleFilesAsync(contributors)); |
|
|
var dynamicResources = RequestResources.TryAdd(await GetDynamicResourcesAsync(contributors)); |
|
|
var dynamicResources = RequestResources.TryAdd(await GetDynamicResourcesAsync(contributors)); |
|
|
|
|
|
|
|
|
@ -82,31 +81,28 @@ public class BundleManager : IBundleManager, ITransientDependency |
|
|
var localBundleFiles = new List<string>(); |
|
|
var localBundleFiles = new List<string>(); |
|
|
foreach (var bundleFile in bundleFiles) |
|
|
foreach (var bundleFile in bundleFiles) |
|
|
{ |
|
|
{ |
|
|
if (bundleFile.IsCdn) |
|
|
if (!bundleFile.IsCdn) |
|
|
|
|
|
{ |
|
|
|
|
|
localBundleFiles.Add(bundleFile.File); |
|
|
|
|
|
} |
|
|
|
|
|
else |
|
|
{ |
|
|
{ |
|
|
if (localBundleFiles.Any()) |
|
|
if (localBundleFiles.Count != 0) |
|
|
{ |
|
|
{ |
|
|
var cacheItem = AddToBundleCache(bundleName, bundler, localBundleFiles); |
|
|
files.AddRange(AddToBundleCache(bundleName, bundler, localBundleFiles).Files); |
|
|
result.AddRange(cacheItem.Files); |
|
|
|
|
|
localBundleFiles.Clear(); |
|
|
localBundleFiles.Clear(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
result.Add(bundleFile); |
|
|
files.Add(bundleFile); |
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
localBundleFiles.Add(bundleFile.File); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (localBundleFiles.Any()) |
|
|
if (localBundleFiles.Count != 0) |
|
|
{ |
|
|
{ |
|
|
var cacheItem = AddToBundleCache(bundleName, bundler, localBundleFiles); |
|
|
files.AddRange(AddToBundleCache(bundleName, bundler, localBundleFiles).Files); |
|
|
result.AddRange(cacheItem.Files); |
|
|
|
|
|
localBundleFiles.Clear(); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return result.Union(dynamicResources).ToImmutableList(); |
|
|
return files.Union(dynamicResources).ToImmutableList(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private BundleCacheItem AddToBundleCache(string bundleName, IBundler bundler, List<string> bundleFiles) |
|
|
private BundleCacheItem AddToBundleCache(string bundleName, IBundler bundler, List<string> bundleFiles) |
|
|
|