diff --git a/MediaBrowser.Controller/Kernel.cs b/MediaBrowser.Controller/Kernel.cs
index 947fb8e6d1..2cf6fd1888 100644
--- a/MediaBrowser.Controller/Kernel.cs
+++ b/MediaBrowser.Controller/Kernel.cs
@@ -74,12 +74,6 @@ namespace MediaBrowser.Controller
/// The string files.
public IEnumerable StringFiles { get; private set; }
- ///
- /// Gets the list of plugin configuration pages
- ///
- /// The configuration pages.
- public IEnumerable PluginConfigurationPages { get; private set; }
-
///
/// Gets the list of currently registered weather prvoiders
///
@@ -204,7 +198,6 @@ namespace MediaBrowser.Controller
DisplayPreferencesRepositories = ApplicationHost.GetExports();
ItemRepositories = ApplicationHost.GetExports();
WeatherProviders = ApplicationHost.GetExports();
- PluginConfigurationPages = ApplicationHost.GetExports();
ImageEnhancers = ApplicationHost.GetExports().OrderBy(e => e.Priority).ToArray();
StringFiles = ApplicationHost.GetExports();
MetadataProviders = ApplicationHost.GetExports().OrderBy(e => e.Priority).ToArray();
diff --git a/MediaBrowser.ServerApplication/WebSocketEvents.cs b/MediaBrowser.ServerApplication/WebSocketEvents.cs
index 4d6720869d..caa4ca2abc 100644
--- a/MediaBrowser.ServerApplication/WebSocketEvents.cs
+++ b/MediaBrowser.ServerApplication/WebSocketEvents.cs
@@ -14,7 +14,7 @@ namespace MediaBrowser.ServerApplication
///
/// Class WebSocketEvents
///
- public class WebSocketEvents : IServerEntryPoint, IDisposable
+ public class WebSocketEvents : IServerEntryPoint
{
///
/// The _server manager
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index 1603fc9eb1..4cc34ba28b 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -147,7 +147,7 @@ namespace MediaBrowser.WebDashboard.Api
/// System.Object.
public object Get(GetDashboardConfigurationPage request)
{
- var page = Kernel.Instance.PluginConfigurationPages.First(p => p.Name.Equals(request.Name, StringComparison.OrdinalIgnoreCase));
+ var page = ServerEntryPoint.Instance.PluginConfigurationPages.First(p => p.Name.Equals(request.Name, StringComparison.OrdinalIgnoreCase));
return ToStaticResult(page.Version.GetMD5(), page.DateLastModified, null, MimeTypes.GetMimeType("page.html"), () => ModifyHtml(page.GetHtmlStream()));
}
@@ -159,7 +159,7 @@ namespace MediaBrowser.WebDashboard.Api
/// System.Object.
public object Get(GetDashboardConfigurationPages request)
{
- var pages = Kernel.Instance.PluginConfigurationPages;
+ var pages = ServerEntryPoint.Instance.PluginConfigurationPages;
if (request.PageType.HasValue)
{
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 4d1685d026..6e51ad0d2f 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -85,6 +85,7 @@
+
diff --git a/MediaBrowser.WebDashboard/ServerEntryPoint.cs b/MediaBrowser.WebDashboard/ServerEntryPoint.cs
new file mode 100644
index 0000000000..690c07d8ff
--- /dev/null
+++ b/MediaBrowser.WebDashboard/ServerEntryPoint.cs
@@ -0,0 +1,34 @@
+using MediaBrowser.Common;
+using MediaBrowser.Controller.Plugins;
+using System.Collections.Generic;
+
+namespace MediaBrowser.WebDashboard
+{
+ public class ServerEntryPoint : IServerEntryPoint
+ {
+ ///
+ /// Gets the list of plugin configuration pages
+ ///
+ /// The configuration pages.
+ public IEnumerable PluginConfigurationPages { get; private set; }
+
+ private readonly IApplicationHost _appHost;
+
+ public static ServerEntryPoint Instance { get; private set; }
+
+ public ServerEntryPoint(IApplicationHost appHost)
+ {
+ _appHost = appHost;
+ Instance = this;
+ }
+
+ public void Run()
+ {
+ PluginConfigurationPages = _appHost.GetExports();
+ }
+
+ public void Dispose()
+ {
+ }
+ }
+}