Register and construct DtoService correctly

This commit is contained in:
Mark Monteiro
2020-04-04 14:41:03 -04:00
parent cb2d99e831
commit 75b05ca1e6
2 changed files with 20 additions and 21 deletions

View File

@@ -271,10 +271,6 @@ namespace Emby.Server.Implementations
/// <value>The provider manager.</value>
private IProviderManager ProviderManager { get; set; }
private IDtoService DtoService { get; set; }
public IImageProcessor ImageProcessor { get; set; }
/// <summary>
@@ -711,7 +707,7 @@ namespace Emby.Server.Implementations
XmlSerializer,
NetworkManager,
() => ImageProcessor,
() => DtoService,
Resolve<IDtoService>,
this,
JsonSerializer,
FileSystemManager,
@@ -766,8 +762,9 @@ namespace Emby.Server.Implementations
ProviderManager = new ProviderManager(HttpClient, SubtitleManager, ServerConfigurationManager, LibraryMonitor, LoggerFactory, FileSystemManager, ApplicationPaths, () => LibraryManager, JsonSerializer);
serviceCollection.AddSingleton(ProviderManager);
DtoService = new DtoService(LoggerFactory, LibraryManager, UserDataManager, ItemRepository, ImageProcessor, ProviderManager, this, () => MediaSourceManager, () => _liveTvManager);
serviceCollection.AddSingleton(DtoService);
// TODO: Refactor to eliminate circular dependency here so Lazy<> isn't required
serviceCollection.AddTransient(provider => new Lazy<ILiveTvManager>(provider.GetRequiredService<ILiveTvManager>));
serviceCollection.AddSingleton<IDtoService, DtoService>();
serviceCollection.AddSingleton<IChannelManager, ChannelManager>();