aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-08 12:45:40 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-08 12:45:40 -0400
commit57f082051d15da7450fe41f293e0131c8320db33 (patch)
tree686cc8d30ffa13a9f1491b3144d37dd462d3ea91
parentcfe2c8f1b16d11a65e44973be2e605882de1e4d1 (diff)
tweaked http server startup
-rw-r--r--MediaBrowser.Common.Implementations/BaseApplicationHost.cs6
-rw-r--r--MediaBrowser.ServerApplication/ApplicationHost.cs23
2 files changed, 22 insertions, 7 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
index 4b8574c89..1a2ab4a51 100644
--- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
@@ -171,6 +171,7 @@ namespace MediaBrowser.Common.Implementations
Logger = LogManager.GetLogger("App");
LogManager.ReloadLogger(ConfigurationManager.CommonConfiguration.EnableDebugLevelLogging ? LogSeverity.Debug : LogSeverity.Info);
+ OnLoggerLoaded();
DiscoverTypes();
@@ -183,6 +184,11 @@ namespace MediaBrowser.Common.Implementations
await RunStartupTasks().ConfigureAwait(false);
}
+ protected virtual void OnLoggerLoaded()
+ {
+
+ }
+
/// <summary>
/// Runs the startup tasks.
/// </summary>
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs
index b5e267810..582b73a31 100644
--- a/MediaBrowser.ServerApplication/ApplicationHost.cs
+++ b/MediaBrowser.ServerApplication/ApplicationHost.cs
@@ -160,6 +160,8 @@ namespace MediaBrowser.ServerApplication
get { return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.StartMenu), "Media Browser 3", "Media Browser Server.lnk"); }
}
+ private Task<IHttpServer> _httpServerCreationTask;
+
/// <summary>
/// Runs the startup tasks.
/// </summary>
@@ -176,6 +178,16 @@ namespace MediaBrowser.ServerApplication
}
/// <summary>
+ /// Called when [logger loaded].
+ /// </summary>
+ protected override void OnLoggerLoaded()
+ {
+ base.OnLoggerLoaded();
+
+ _httpServerCreationTask = Task.Run(() => ServerFactory.CreateServer(this, Logger, "Media Browser", "index.html"));
+ }
+
+ /// <summary>
/// Registers resources that classes will depend on
/// </summary>
/// <returns>Task.</returns>
@@ -183,12 +195,6 @@ namespace MediaBrowser.ServerApplication
{
ServerKernel = new Kernel(ServerConfigurationManager);
- var httpServerTask = Task.Run(() =>
- {
- HttpServer = ServerFactory.CreateServer(this, Logger, "Media Browser", "index.html");
- RegisterSingleInstance(HttpServer, false);
- });
-
await base.RegisterResources().ConfigureAwait(false);
RegisterSingleInstance<IHttpResultFactory>(new HttpResultFactory(LogManager));
@@ -230,6 +236,9 @@ namespace MediaBrowser.ServerApplication
MediaEncoder = new MediaEncoder(LogManager.GetLogger("MediaEncoder"), ZipClient, ApplicationPaths, JsonSerializer);
RegisterSingleInstance(MediaEncoder);
+ HttpServer = await _httpServerCreationTask.ConfigureAwait(false);
+ RegisterSingleInstance(HttpServer, false);
+
ServerManager = new ServerManager(this, JsonSerializer, Logger, ServerConfigurationManager, ServerKernel);
RegisterSingleInstance(ServerManager);
@@ -238,7 +247,7 @@ namespace MediaBrowser.ServerApplication
var userdataTask = Task.Run(async () => await ConfigureUserDataRepositories().ConfigureAwait(false));
var userTask = Task.Run(async () => await ConfigureUserRepositories().ConfigureAwait(false));
- await Task.WhenAll(httpServerTask, itemsTask, userTask, displayPreferencesTask, userdataTask).ConfigureAwait(false);
+ await Task.WhenAll(itemsTask, userTask, displayPreferencesTask, userdataTask).ConfigureAwait(false);
SetKernelProperties();
}