/// <summary> /// The cache key will be based on: /// - the version number /// - the type (javascript or css) /// - whether content is compressed or not /// - the hashcode of the file names in this group /// - the Internet Explorer version (since there might be additional files for different ie versions) /// </summary> /// <returns></returns> private static string GetCacheKeyForCombinedContent(string manualVersion, string sharedVersion, CombinedResourceType type, int ieVersion, string urlsHash, bool minify, bool rewriteImagesPaths) { return("CombdResrc" + ".mv=" + manualVersion + ".sv=" + sharedVersion + ".t=" + type + ".ie=" + ieVersion + ".m=" + minify + ".rw=" + rewriteImagesPaths + ".hash=" + urlsHash); }
private string BuildQueryStringForCombinedUrl(string pageUrl, string manualVersion, string sharedVersion, CombinedResourceType type, string fileUrls, bool minify, bool rewriteImagePaths) { return("?" + CombinerConstantsAndSettings.PageUrlKey + "=" + pageUrl + "&" + GetVersionQueryString(manualVersion, sharedVersion) + "&" + CombinerConstantsAndSettings.TypeUrlKey + "=" + type + "&" + CombinerConstantsAndSettings.MinifyUrlKey + "=" + minify + "&" + CombinerConstantsAndSettings.RewriteImagePathsUrlKey + "=" + rewriteImagePaths + "&" + CombinerConstantsAndSettings.FilesUrlKey + "=" + EncodeTo64(fileUrls)); }
private string[] GetCombinedUrls(string pageUrl, IList <string> resUrls, string manualVersion, string sharedVersion, CombinedResourceType resType, string combinedHandlerUrl, bool minify, bool rewriteImagePaths) { // Partition the urls csv into multiple csv strings if necessary in order to produce urls // that are of not greater than 2083 chars to avoid any browser and/or server issues; var finalList = new List <string>(); var list = new List <string>(); int charCount = combinedHandlerUrl.Count(); foreach (string url in resUrls) { charCount += url.Count(); if (charCount >= 1300) { finalList.Add(string.Join(",", list)); list = new List <string>(); charCount = combinedHandlerUrl.Count(); } list.Add(url); } finalList.Add(string.Join(",", list)); var result = new List <string>(); foreach (string urlsCsv in finalList) { if (resType == CombinedResourceType.javascript) { result.Add(combinedHandlerUrl + BuildQueryStringForCombinedUrl(pageUrl, manualVersion, sharedVersion, CombinedResourceType.javascript, urlsCsv, minify, rewriteImagePaths)); } if (resType == CombinedResourceType.css) { result.Add(combinedHandlerUrl + BuildQueryStringForCombinedUrl(pageUrl, manualVersion, sharedVersion, CombinedResourceType.css, urlsCsv, minify, rewriteImagePaths)); } } return(result.ToArray()); }
private string[] GetCombinedUrls(string pageUrl, IList<string> resUrls, string manualVersion, string sharedVersion, CombinedResourceType resType, string combinedHandlerUrl, bool minify, bool rewriteImagePaths) { // Partition the urls csv into multiple csv strings if necessary in order to produce urls // that are of not greater than 2083 chars to avoid any browser and/or server issues; var finalList = new List<string>(); var list = new List<string>(); int charCount = combinedHandlerUrl.Count(); foreach(string url in resUrls) { charCount += url.Count(); if(charCount >= 1300) { finalList.Add(string.Join(",", list)); list = new List<string>(); charCount = combinedHandlerUrl.Count(); } list.Add(url); } finalList.Add(string.Join(",", list)); var result = new List<string>(); foreach (string urlsCsv in finalList) { if (resType == CombinedResourceType.javascript) result.Add( combinedHandlerUrl + BuildQueryStringForCombinedUrl(pageUrl, manualVersion, sharedVersion, CombinedResourceType.javascript, urlsCsv, minify, rewriteImagePaths)); if (resType == CombinedResourceType.css) result.Add( combinedHandlerUrl + BuildQueryStringForCombinedUrl(pageUrl, manualVersion, sharedVersion, CombinedResourceType.css, urlsCsv, minify, rewriteImagePaths)); } return result.ToArray(); }
private string BuildQueryStringForCombinedUrl(string pageUrl, string manualVersion, string sharedVersion, CombinedResourceType type, string fileUrls, bool minify, bool rewriteImagePaths) { return "?" + CombinerConstantsAndSettings.PageUrlKey + "=" + pageUrl + "&" + GetVersionQueryString(manualVersion, sharedVersion) + "&" + CombinerConstantsAndSettings.TypeUrlKey + "=" + type + "&" + CombinerConstantsAndSettings.MinifyUrlKey + "=" + minify + "&" + CombinerConstantsAndSettings.RewriteImagePathsUrlKey + "=" + rewriteImagePaths + "&" + CombinerConstantsAndSettings.FilesUrlKey + "=" + EncodeTo64(fileUrls); }
/// <summary> /// The cache key will be based on: /// - the version number /// - the type (javascript or css) /// - whether content is compressed or not /// - the hashcode of the file names in this group /// - the Internet Explorer version (since there might be additional files for different ie versions) /// </summary> /// <returns></returns> private static string GetCacheKeyForCombinedContent(string manualVersion, string sharedVersion, CombinedResourceType type, int ieVersion, string urlsHash, bool minify, bool rewriteImagesPaths) { return "CombdResrc" + ".mv=" + manualVersion + ".sv=" + sharedVersion + ".t=" + type + ".ie=" + ieVersion + ".m=" + minify + ".rw=" + rewriteImagesPaths + ".hash=" + urlsHash; }