Merge pull request #10001 from benjaminc/netcore/bugfix/startup-emptydb
#9843 - Allow install with DB string pre-configured
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Umbraco.Cms.Core.Events;
|
||||
using Umbraco.Cms.Core.Services;
|
||||
using Umbraco.Cms.Core.Sync;
|
||||
using Umbraco.Cms.Infrastructure.Persistence;
|
||||
|
||||
@@ -13,34 +14,41 @@ namespace Umbraco.Cms.Core.Cache
|
||||
/// </summary>
|
||||
public sealed class DatabaseServerMessengerNotificationHandler : INotificationHandler<UmbracoApplicationStarting>, INotificationHandler<UmbracoRequestEnd>
|
||||
{
|
||||
private readonly IServerMessenger _messenger;
|
||||
private readonly IServerMessenger _messenger;
|
||||
private readonly IUmbracoDatabaseFactory _databaseFactory;
|
||||
private readonly IDistributedCacheBinder _distributedCacheBinder;
|
||||
private readonly ILogger<DatabaseServerMessengerNotificationHandler> _logger;
|
||||
private readonly IRuntimeState _runtimeState;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="DatabaseServerMessengerNotificationHandler"/> class.
|
||||
/// </summary>
|
||||
public DatabaseServerMessengerNotificationHandler(
|
||||
IServerMessenger serverMessenger,
|
||||
IServerMessenger serverMessenger,
|
||||
IUmbracoDatabaseFactory databaseFactory,
|
||||
IDistributedCacheBinder distributedCacheBinder,
|
||||
ILogger<DatabaseServerMessengerNotificationHandler> logger)
|
||||
{
|
||||
ILogger<DatabaseServerMessengerNotificationHandler> logger,
|
||||
IRuntimeState runtimeState)
|
||||
{
|
||||
_databaseFactory = databaseFactory;
|
||||
_distributedCacheBinder = distributedCacheBinder;
|
||||
_logger = logger;
|
||||
_messenger = serverMessenger;
|
||||
_runtimeState = runtimeState;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public void Handle(UmbracoApplicationStarting notification)
|
||||
{
|
||||
if (_databaseFactory.CanConnect == false)
|
||||
{
|
||||
_logger.LogWarning("Cannot connect to the database, distributed calls will not be enabled for this server.");
|
||||
}
|
||||
else if (_runtimeState.Level != RuntimeLevel.Run)
|
||||
{
|
||||
_logger.LogWarning("Cannot connect to the database, distributed calls will not be enabled for this server.");
|
||||
_logger.LogWarning("Distributed calls are not available outside the Run runtime level");
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
_distributedCacheBinder.BindEvents();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user