diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index e52720b574..c35633a23b 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -43,8 +43,8 @@ ..\packages\AutoMapper.3.3.1\lib\net40\AutoMapper.Net4.dll - - ..\packages\ClientDependency.1.9.2\lib\net45\ClientDependency.Core.dll + + ..\packages\ClientDependency.1.9.4-beta03\lib\net45\ClientDependency.Core.dll ..\packages\HtmlAgilityPack.1.4.9.5\lib\Net45\HtmlAgilityPack.dll diff --git a/src/Umbraco.Core/packages.config b/src/Umbraco.Core/packages.config index 61b8a3b1f5..3cffd78a0e 100644 --- a/src/Umbraco.Core/packages.config +++ b/src/Umbraco.Core/packages.config @@ -1,7 +1,7 @@  - + diff --git a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj index 7930fd6b50..ce4b7aae58 100644 --- a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj +++ b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj @@ -116,9 +116,8 @@ ..\packages\AutoMapper.3.3.1\lib\net40\AutoMapper.Net4.dll True - - ..\packages\ClientDependency.1.9.2\lib\net45\ClientDependency.Core.dll - True + + ..\packages\ClientDependency.1.9.4-beta03\lib\net45\ClientDependency.Core.dll ..\packages\ClientDependency-Mvc5.1.8.0.0\lib\net45\ClientDependency.Core.Mvc.dll diff --git a/src/Umbraco.Web.UI/packages.config b/src/Umbraco.Web.UI/packages.config index 3cbdc716cd..8329f7fe91 100644 --- a/src/Umbraco.Web.UI/packages.config +++ b/src/Umbraco.Web.UI/packages.config @@ -1,7 +1,7 @@  - + diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index 378d8ab111..2fc168d76f 100644 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -105,9 +105,8 @@ ..\packages\AutoMapper.3.3.1\lib\net40\AutoMapper.Net4.dll True - - ..\packages\ClientDependency.1.9.2\lib\net45\ClientDependency.Core.dll - True + + ..\packages\ClientDependency.1.9.4-beta03\lib\net45\ClientDependency.Core.dll ..\packages\dotless.1.5.2\lib\dotless.Core.dll diff --git a/src/Umbraco.Web/WebBootManager.cs b/src/Umbraco.Web/WebBootManager.cs index c38540b6a2..aea0d73d4d 100644 --- a/src/Umbraco.Web/WebBootManager.cs +++ b/src/Umbraco.Web/WebBootManager.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Collections.Specialized; using System.Configuration; +using System.IO; using System.Linq; using System.Web; using System.Web.Configuration; @@ -9,6 +10,7 @@ using System.Web.Http; using System.Web.Http.Dispatcher; using System.Web.Mvc; using System.Web.Routing; +using ClientDependency.Core.CompositeFiles.Providers; using ClientDependency.Core.Config; using Examine.Providers; using Umbraco.Core; @@ -104,16 +106,7 @@ namespace Umbraco.Web _examineStartup = new ExamineStartup(ApplicationContext); _examineStartup.Initialize(); - // Backwards compatibility - set the path and URL type for ClientDependency 1.5.1 [LK] - ClientDependency.Core.CompositeFiles.Providers.XmlFileMapper.FileMapVirtualFolder = "~/App_Data/TEMP/ClientDependency"; - ClientDependency.Core.CompositeFiles.Providers.BaseCompositeFileProcessingProvider.UrlTypeDefault = ClientDependency.Core.CompositeFiles.Providers.CompositeUrlType.Base64QueryStrings; - - var section = ConfigurationManager.GetSection("system.web/httpRuntime") as HttpRuntimeSection; - if (section != null) - { - //set the max url length for CDF to be the smallest of the max query length, max request length - ClientDependency.Core.CompositeFiles.CompositeDependencyHandler.MaxHandlerUrlLength = Math.Min(section.MaxQueryStringLength, section.MaxRequestLength); - } + ConfigureClientDependency(); //set master controller factory ControllerBuilder.Current.SetControllerFactory( @@ -130,14 +123,6 @@ namespace Umbraco.Web ////add the profiling action filter //GlobalFilters.Filters.Add(new ProfilingActionFilter()); - //Register a custom renderer - used to process property editor dependencies - var renderer = new DependencyPathRenderer(); - renderer.Initialize("Umbraco.DependencyPathRenderer", new NameValueCollection - { - { "compositeFileHandlerPath", ClientDependencySettings.Instance.CompositeFileHandlerPath } - }); - ClientDependencySettings.Instance.MvcRendererCollection.Add(renderer); - // Disable the X-AspNetMvc-Version HTTP Header MvcHandler.DisableMvcResponseHeader = true; @@ -274,6 +259,45 @@ namespace Umbraco.Web RoutePluginControllers(); } + private void ConfigureClientDependency() + { + // Backwards compatibility - set the path and URL type for ClientDependency 1.5.1 [LK] + XmlFileMapper.FileMapDefaultFolder = "~/App_Data/TEMP/ClientDependency"; + BaseCompositeFileProcessingProvider.UrlTypeDefault = CompositeUrlType.Base64QueryStrings; + + // Now we need to detect if we are running umbracoLocalTempStorage as EnvironmentTemp and in that case we want to change the CDF file + // location to be there + if (GlobalSettings.LocalTempStorageLocation == LocalTempStorage.EnvironmentTemp) + { + var appDomainHash = HttpRuntime.AppDomainAppId.ToSHA1(); + var cachePath = Path.Combine(Environment.ExpandEnvironmentVariables("%temp%"), "UmbracoData", + //include the appdomain hash is just a safety check, for example if a website is moved from worker A to worker B and then back + // to worker A again, in theory the %temp% folder should already be empty but we really want to make sure that its not + // utilizing an old path + appDomainHash); + + //set the file map and composite file default location to the %temp% location + BaseCompositeFileProcessingProvider.CompositeFilePathDefaultFolder + = XmlFileMapper.FileMapDefaultFolder + = Path.Combine(cachePath, "ClientDependency"); + } + + var section = ConfigurationManager.GetSection("system.web/httpRuntime") as HttpRuntimeSection; + if (section != null) + { + //set the max url length for CDF to be the smallest of the max query length, max request length + ClientDependency.Core.CompositeFiles.CompositeDependencyHandler.MaxHandlerUrlLength = Math.Min(section.MaxQueryStringLength, section.MaxRequestLength); + } + + //Register a custom renderer - used to process property editor dependencies + var renderer = new DependencyPathRenderer(); + renderer.Initialize("Umbraco.DependencyPathRenderer", new NameValueCollection + { + { "compositeFileHandlerPath", ClientDependencySettings.Instance.CompositeFileHandlerPath } + }); + ClientDependencySettings.Instance.MvcRendererCollection.Add(renderer); + } + private void RoutePluginControllers() { var umbracoPath = GlobalSettings.UmbracoMvcArea; diff --git a/src/Umbraco.Web/packages.config b/src/Umbraco.Web/packages.config index abba2741a7..087ffb01fe 100644 --- a/src/Umbraco.Web/packages.config +++ b/src/Umbraco.Web/packages.config @@ -1,7 +1,7 @@  - + diff --git a/src/umbraco.cms/packages.config b/src/umbraco.cms/packages.config index 4242d98950..91b532f8ce 100644 --- a/src/umbraco.cms/packages.config +++ b/src/umbraco.cms/packages.config @@ -1,6 +1,6 @@  - + diff --git a/src/umbraco.cms/umbraco.cms.csproj b/src/umbraco.cms/umbraco.cms.csproj index e2baba7ada..4fb80bcb14 100644 --- a/src/umbraco.cms/umbraco.cms.csproj +++ b/src/umbraco.cms/umbraco.cms.csproj @@ -106,8 +106,8 @@ false - - ..\packages\ClientDependency.1.9.2\lib\net45\ClientDependency.Core.dll + + ..\packages\ClientDependency.1.9.4-beta03\lib\net45\ClientDependency.Core.dll ..\packages\HtmlAgilityPack.1.4.9.5\lib\Net45\HtmlAgilityPack.dll diff --git a/src/umbraco.controls/packages.config b/src/umbraco.controls/packages.config index eca7107322..3fdcced3f6 100644 --- a/src/umbraco.controls/packages.config +++ b/src/umbraco.controls/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/src/umbraco.controls/umbraco.controls.csproj b/src/umbraco.controls/umbraco.controls.csproj index c562fa35d1..9df3c47288 100644 --- a/src/umbraco.controls/umbraco.controls.csproj +++ b/src/umbraco.controls/umbraco.controls.csproj @@ -68,8 +68,8 @@ false - - ..\packages\ClientDependency.1.9.2\lib\net45\ClientDependency.Core.dll + + ..\packages\ClientDependency.1.9.4-beta03\lib\net45\ClientDependency.Core.dll diff --git a/src/umbraco.editorControls/packages.config b/src/umbraco.editorControls/packages.config index eca7107322..3fdcced3f6 100644 --- a/src/umbraco.editorControls/packages.config +++ b/src/umbraco.editorControls/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/src/umbraco.editorControls/umbraco.editorControls.csproj b/src/umbraco.editorControls/umbraco.editorControls.csproj index 602187e55a..2b052ac365 100644 --- a/src/umbraco.editorControls/umbraco.editorControls.csproj +++ b/src/umbraco.editorControls/umbraco.editorControls.csproj @@ -114,8 +114,8 @@ {651E1350-91B6-44B7-BD60-7207006D7003} Umbraco.Web - - ..\packages\ClientDependency.1.9.2\lib\net45\ClientDependency.Core.dll + + ..\packages\ClientDependency.1.9.4-beta03\lib\net45\ClientDependency.Core.dll System