diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-07 15:07:51 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-07 15:07:51 -0400 |
| commit | f8263b8b69bac872f5b821e32f52fb502665976b (patch) | |
| tree | 58e4c567681202faafe70210bc7ee668c70fa150 | |
| parent | baa779fb3170fe155f479cf96d5ce013e2a6431c (diff) | |
improve restart code after port change
3 files changed, 25 insertions, 14 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index c0959de85..386da0ffa 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -201,7 +201,7 @@ namespace MediaBrowser.Common.Implementations Task.Run(() => ConfigureAutoRunAtStartup()); - ConfigurationManager.ConfigurationUpdated += ConfigurationManager_ConfigurationUpdated; + ConfigurationManager.ConfigurationUpdated += OnConfigurationUpdated; }); } @@ -459,7 +459,7 @@ namespace MediaBrowser.Common.Implementations /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> /// <exception cref="System.NotImplementedException"></exception> - void ConfigurationManager_ConfigurationUpdated(object sender, EventArgs e) + protected virtual void OnConfigurationUpdated(object sender, EventArgs e) { ConfigureAutoRunAtStartup(); } diff --git a/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs b/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs index 6b33f1145..a45804f69 100644 --- a/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs +++ b/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs @@ -114,6 +114,8 @@ namespace MediaBrowser.Server.Implementations.ServerManager _applicationHost = applicationHost; ConfigurationManager = configurationManager; _kernel = kernel; + + ConfigurationManager.ConfigurationUpdated += ConfigurationUpdated; } /// <summary> @@ -127,8 +129,6 @@ namespace MediaBrowser.Server.Implementations.ServerManager { ReloadExternalWebSocketServer(); } - - ConfigurationManager.ConfigurationUpdated += ConfigurationUpdated; } /// <summary> @@ -352,16 +352,6 @@ namespace MediaBrowser.Server.Implementations.ServerManager void ConfigurationUpdated(object sender, EventArgs e) { HttpServer.EnableHttpRequestLogging = ConfigurationManager.Configuration.EnableHttpLevelLogging; - - if (!string.Equals(HttpServer.UrlPrefix, _kernel.HttpServerUrlPrefix, StringComparison.OrdinalIgnoreCase)) - { - _applicationHost.NotifyPendingRestart(); - } - - else if (!SupportsNativeWebSocket && ExternalWebSocketServer != null && ExternalWebSocketServer.Port != ConfigurationManager.Configuration.LegacyWebSocketPortNumber) - { - _applicationHost.NotifyPendingRestart(); - } } /// <summary> diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 309a2c351..37e6d1b8d 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -432,6 +432,27 @@ namespace MediaBrowser.ServerApplication } /// <summary> + /// Called when [configuration updated]. + /// </summary> + /// <param name="sender">The sender.</param> + /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> + protected override void OnConfigurationUpdated(object sender, EventArgs e) + { + base.OnConfigurationUpdated(sender, e); + + if (!string.Equals(HttpServer.UrlPrefix, ServerKernel.HttpServerUrlPrefix, StringComparison.OrdinalIgnoreCase)) + { + NotifyPendingRestart(); + } + + else if (!ServerManager.SupportsNativeWebSocket && ServerManager.WebSocketPortNumber != ServerConfigurationManager.Configuration.LegacyWebSocketPortNumber) + { + NotifyPendingRestart(); + } + + } + + /// <summary> /// Restarts this instance. /// </summary> public override void Restart() |
