From daa074180266bfcf3f4b71c8fe8f3f55d116738a Mon Sep 17 00:00:00 2001 From: Jacek Malinowski Date: Thu, 2 Nov 2017 07:40:53 -0700 Subject: [PATCH] U4-10626 Detecting deplayoment Id change --- src/Umbraco.Core/ApplicationContext.cs | 4 +++- src/Umbraco.Core/Sync/ApplicationUrlHelper.cs | 11 +++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Core/ApplicationContext.cs b/src/Umbraco.Core/ApplicationContext.cs index ada2205774..9836c60a1f 100644 --- a/src/Umbraco.Core/ApplicationContext.cs +++ b/src/Umbraco.Core/ApplicationContext.cs @@ -278,7 +278,9 @@ namespace Umbraco.Core } // ReSharper disable once InconsistentNaming - internal string _umbracoApplicationUrl; + internal string _umbracoApplicationUrl; + + internal string _umbracoApplicationDeploymentId; private Lazy _configured; internal MainDom MainDom { get; private set; } diff --git a/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs b/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs index 7b713374aa..d54d4400ce 100644 --- a/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs +++ b/src/Umbraco.Core/Sync/ApplicationUrlHelper.cs @@ -3,6 +3,7 @@ using System.Web; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.ObjectResolution; namespace Umbraco.Core.Sync @@ -46,8 +47,14 @@ namespace Umbraco.Core.Sync // settings: for unit tests only internal static void EnsureApplicationUrl(ApplicationContext appContext, HttpRequestBase request = null, IUmbracoSettingsSection settings = null) { - // if initialized, return - if (appContext._umbracoApplicationUrl != null) return; + // if initialized and on the same DeploymentId, return + var deplayomentId = Environment.ExpandEnvironmentVariables("%WEBSITE_SITE_NAME%"); + if (appContext._umbracoApplicationUrl != null && appContext._umbracoApplicationDeploymentId == deplayomentId) return; + + if (appContext._umbracoApplicationDeploymentId != deplayomentId) + LogHelper.Info(typeof(ApplicationUrlHelper), $"DeploymentId changed: {deplayomentId}"); + + appContext._umbracoApplicationDeploymentId = deplayomentId; var logger = appContext.ProfilingLogger.Logger;