aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-07 15:07:51 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-07 15:07:51 -0400
commitf8263b8b69bac872f5b821e32f52fb502665976b (patch)
tree58e4c567681202faafe70210bc7ee668c70fa150
parentbaa779fb3170fe155f479cf96d5ce013e2a6431c (diff)
improve restart code after port change
-rw-r--r--MediaBrowser.Common.Implementations/BaseApplicationHost.cs4
-rw-r--r--MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs14
-rw-r--r--MediaBrowser.ServerApplication/ApplicationHost.cs21
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()