diff options
Diffstat (limited to 'MediaBrowser.ServerApplication/ApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/ApplicationHost.cs | 23 |
1 files changed, 16 insertions, 7 deletions
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(); } |
