created an init method on base app host

This commit is contained in:
LukePulverenti 2013-03-03 02:27:40 -05:00
parent 7665b1563d
commit 7b0b5a3538
7 changed files with 43 additions and 15 deletions

View File

@ -1,4 +1,5 @@
using MediaBrowser.Common.Implementations.Udp;
using System.Threading.Tasks;
using MediaBrowser.Common.Implementations.Udp;
using MediaBrowser.Common.Implementations.Updates;
using MediaBrowser.Common.Implementations.WebSocket;
using MediaBrowser.Common.Kernel;
@ -48,7 +49,7 @@ namespace MediaBrowser.Common.Implementations
/// The container
/// </summary>
protected readonly Container Container = new Container();
/// <summary>
/// Gets assemblies that failed to load
/// </summary>
@ -114,16 +115,26 @@ namespace MediaBrowser.Common.Implementations
protected BaseApplicationHost()
{
FailedAssemblies = new List<string>();
}
ApplicationPaths = GetApplicationPaths();
/// <summary>
/// Inits this instance.
/// </summary>
/// <returns>Task.</returns>
public virtual Task Init()
{
return Task.Run(() =>
{
ApplicationPaths = GetApplicationPaths();
LogManager = GetLogManager();
LogManager = GetLogManager();
Logger = LogManager.GetLogger("App");
Logger = LogManager.GetLogger("App");
IsFirstRun = !File.Exists(ApplicationPaths.SystemConfigurationFilePath);
IsFirstRun = !File.Exists(ApplicationPaths.SystemConfigurationFilePath);
DiscoverTypes();
DiscoverTypes();
});
}
/// <summary>
@ -157,7 +168,7 @@ namespace MediaBrowser.Common.Implementations
Plugins = GetExports<IPlugin>();
}
/// <summary>
/// Discovers the types.
/// </summary>
@ -189,7 +200,7 @@ namespace MediaBrowser.Common.Implementations
RegisterSingleInstance(networkManager);
RegisterSingleInstance(serverManager);
}
/// <summary>
/// Gets a list of types within an assembly
/// This will handle situations that would normally throw an exception - such as a type within the assembly that depends on some other non-existant reference
@ -353,7 +364,7 @@ namespace MediaBrowser.Common.Implementations
/// <param name="autorun">if set to <c>true</c> [autorun].</param>
public void ConfigureAutoRunAtStartup(bool autorun)
{
}
/// <summary>

View File

@ -110,5 +110,11 @@ namespace MediaBrowser.Common.Kernel
/// </summary>
/// <param name="plugin">The plugin.</param>
void RemovePlugin(IPlugin plugin);
/// <summary>
/// Inits this instance.
/// </summary>
/// <returns>Task.</returns>
Task Init();
}
}

View File

@ -165,6 +165,7 @@ namespace MediaBrowser.ServerApplication
protected async void LoadKernel()
{
CompositionRoot = new ApplicationHost();
await CompositionRoot.Init();
Logger = CompositionRoot.Logger;
Kernel = CompositionRoot.Kernel;

View File

@ -78,6 +78,16 @@ namespace MediaBrowser.ServerApplication
public ApplicationHost()
: base()
{
}
/// <summary>
/// Inits this instance.
/// </summary>
/// <returns>Task.</returns>
public override async Task Init()
{
await base.Init().ConfigureAwait(false);
Kernel = new Kernel(this, ServerApplicationPaths, _xmlSerializer, Logger);
var networkManager = new NetworkManager();

View File

@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common.Internal</id>
<version>3.0.24</version>
<version>3.0.25</version>
<title>MediaBrowser.Common.Internal</title>
<authors>Luke</authors>
<owners>ebr,Luke,scottisafool</owners>
@ -12,7 +12,7 @@
<description>Contains common components shared by Media Browser Theatre and Media Browser Server. Not intended for plugin developer consumption.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
<dependency id="MediaBrowser.Common" version="3.0.24" />
<dependency id="MediaBrowser.Common" version="3.0.25" />
<dependency id="NLog" version="2.0.0.2000" />
<dependency id="ServiceStack" version="3.9.37" />
<dependency id="ServiceStack.Api.Swagger" version="3.9.35" />

View File

@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common</id>
<version>3.0.24</version>
<version>3.0.25</version>
<title>MediaBrowser.Common</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>

View File

@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Server.Core</id>
<version>3.0.24</version>
<version>3.0.25</version>
<title>Media Browser.Server.Core</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Media Browser Server.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
<dependency id="MediaBrowser.Common" version="3.0.24" />
<dependency id="MediaBrowser.Common" version="3.0.25" />
</dependencies>
</metadata>
<files>