Add GetMainDom method to UmbracoApplication so GetRuntime can be overridden

(cherry picked from commit c3f59602c2)
This commit is contained in:
Jeavon Leopold
2020-04-22 11:33:27 +01:00
committed by Sebastiaan Janssen
parent 0b1e1e6dfe
commit b2c2e86971

View File

@@ -2,6 +2,7 @@
using System.Threading;
using System.Web;
using Umbraco.Core;
using Umbraco.Core.Logging;
using Umbraco.Core.Logging.Serilog;
using Umbraco.Core.Runtime;
using Umbraco.Web.Runtime;
@@ -17,16 +18,24 @@ namespace Umbraco.Web
{
var logger = SerilogLogger.CreateWithDefaultConfiguration();
var runtime = new WebRuntime(this, logger, GetMainDom(logger));
return runtime;
}
/// <summary>
/// Returns a new MainDom
/// </summary>
protected IMainDom GetMainDom(ILogger logger)
{
// Determine if we should use the sql main dom or the default
var appSettingMainDomLock = ConfigurationManager.AppSettings[Constants.AppSettings.MainDomLock];
var mainDomLock = appSettingMainDomLock == "SqlMainDomLock"
? (IMainDomLock)new SqlMainDomLock(logger)
: new MainDomSemaphoreLock(logger);
var runtime = new WebRuntime(this, logger, new MainDom(logger, mainDomLock));
return runtime;
return new MainDom(logger, mainDomLock);
}
/// <summary>