diff --git a/src/Umbraco.Web.Common/Extensions/UmbracoCoreServiceCollectionExtensions.cs b/src/Umbraco.Web.Common/Extensions/UmbracoCoreServiceCollectionExtensions.cs index 0fe784f421..b0466b4e49 100644 --- a/src/Umbraco.Web.Common/Extensions/UmbracoCoreServiceCollectionExtensions.cs +++ b/src/Umbraco.Web.Common/Extensions/UmbracoCoreServiceCollectionExtensions.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Data.Common; using System.IO; using System.Reflection; +using System.Runtime.InteropServices; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; @@ -175,7 +176,8 @@ namespace Umbraco.Web.Common.Extensions var globalSettings = configs.Global(); var connStrings = configs.ConnectionStrings(); var appSettingMainDomLock = globalSettings.MainDomLock; - var mainDomLock = appSettingMainDomLock == "SqlMainDomLock" + var isLinux = RuntimeInformation.IsOSPlatform(OSPlatform.Linux); + var mainDomLock = appSettingMainDomLock == "SqlMainDomLock" || isLinux == true ? (IMainDomLock)new SqlMainDomLock(logger, globalSettings, connStrings, dbProviderFactoryCreator) : new MainDomSemaphoreLock(logger, hostingEnvironment); diff --git a/src/Umbraco.Web/UmbracoApplication.cs b/src/Umbraco.Web/UmbracoApplication.cs index 7679da2e2e..d95eb2c6e8 100644 --- a/src/Umbraco.Web/UmbracoApplication.cs +++ b/src/Umbraco.Web/UmbracoApplication.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; +using System.Runtime.InteropServices; using System.Threading; using System.Web; using Umbraco.Core; @@ -31,7 +32,8 @@ namespace Umbraco.Web // Determine if we should use the sql main dom or the default var appSettingMainDomLock = globalSettings.MainDomLock; - var mainDomLock = appSettingMainDomLock == "SqlMainDomLock" + var isLinux = RuntimeInformation.IsOSPlatform(OSPlatform.Linux); + var mainDomLock = appSettingMainDomLock == "SqlMainDomLock" || isLinux == true ? (IMainDomLock)new SqlMainDomLock(logger, globalSettings, connectionStrings, dbProviderFactoryCreator) : new MainDomSemaphoreLock(logger, hostingEnvironment);