2018-12-12 14:28:57 +01:00
|
|
|
|
using Umbraco.Core.Cache;
|
2019-02-14 09:15:47 +01:00
|
|
|
|
using Umbraco.Core.Composing;
|
2019-11-14 11:47:34 +01:00
|
|
|
|
using Umbraco.Core.Configuration;
|
2020-03-24 14:48:32 +11:00
|
|
|
|
using Umbraco.Core.Hosting;
|
2019-11-12 16:31:08 +11:00
|
|
|
|
using Umbraco.Core.IO;
|
2018-12-12 14:28:57 +01:00
|
|
|
|
using Umbraco.Core.Logging;
|
|
|
|
|
|
using Umbraco.Core.Persistence;
|
2018-11-29 10:35:16 +01:00
|
|
|
|
|
2019-02-14 09:15:47 +01:00
|
|
|
|
namespace Umbraco.Core
|
2018-11-29 10:35:16 +01:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Provides extension methods to the <see cref="Composition"/> class.
|
|
|
|
|
|
/// </summary>
|
2019-02-15 09:47:35 +01:00
|
|
|
|
public static partial class CompositionExtensions
|
2018-11-29 10:35:16 +01:00
|
|
|
|
{
|
2018-12-12 14:28:57 +01:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Registers essential services.
|
|
|
|
|
|
/// </summary>
|
2020-03-24 14:48:32 +11:00
|
|
|
|
/// <remarks>
|
|
|
|
|
|
/// These services are all either created by the runtime or used to construct the runtime
|
|
|
|
|
|
/// </remarks>
|
2018-12-12 14:28:57 +01:00
|
|
|
|
public static void RegisterEssentials(this Composition composition,
|
|
|
|
|
|
ILogger logger, IProfiler profiler, IProfilingLogger profilingLogger,
|
2018-12-12 17:49:24 +01:00
|
|
|
|
IMainDom mainDom,
|
2019-01-17 08:34:29 +01:00
|
|
|
|
AppCaches appCaches,
|
2018-12-12 14:28:57 +01:00
|
|
|
|
IUmbracoDatabaseFactory databaseFactory,
|
|
|
|
|
|
TypeLoader typeLoader,
|
2019-11-11 16:07:47 +11:00
|
|
|
|
IRuntimeState state,
|
2019-11-12 10:05:54 +01:00
|
|
|
|
ITypeFinder typeFinder,
|
2019-11-14 11:47:34 +01:00
|
|
|
|
IIOHelper ioHelper,
|
2019-12-12 08:11:23 +01:00
|
|
|
|
IUmbracoVersion umbracoVersion,
|
2020-03-24 14:48:32 +11:00
|
|
|
|
IDbProviderFactoryCreator dbProviderFactoryCreator,
|
|
|
|
|
|
IHostingEnvironment hostingEnvironment,
|
|
|
|
|
|
IBackOfficeInfo backOfficeInfo)
|
|
|
|
|
|
{
|
2018-12-12 14:28:57 +01:00
|
|
|
|
composition.RegisterUnique(logger);
|
|
|
|
|
|
composition.RegisterUnique(profiler);
|
|
|
|
|
|
composition.RegisterUnique(profilingLogger);
|
2018-12-12 17:49:24 +01:00
|
|
|
|
composition.RegisterUnique(mainDom);
|
2018-12-12 14:28:57 +01:00
|
|
|
|
composition.RegisterUnique(appCaches);
|
2019-11-27 14:10:48 +01:00
|
|
|
|
composition.RegisterUnique(appCaches.RequestCache);
|
2018-12-12 14:28:57 +01:00
|
|
|
|
composition.RegisterUnique(databaseFactory);
|
|
|
|
|
|
composition.RegisterUnique(factory => factory.GetInstance<IUmbracoDatabaseFactory>().SqlContext);
|
|
|
|
|
|
composition.RegisterUnique(typeLoader);
|
|
|
|
|
|
composition.RegisterUnique(state);
|
2019-11-11 16:07:47 +11:00
|
|
|
|
composition.RegisterUnique(typeFinder);
|
2019-11-12 16:31:08 +11:00
|
|
|
|
composition.RegisterUnique(ioHelper);
|
2019-11-14 11:47:34 +01:00
|
|
|
|
composition.RegisterUnique(umbracoVersion);
|
2019-12-12 08:11:23 +01:00
|
|
|
|
composition.RegisterUnique(dbProviderFactoryCreator);
|
2020-01-15 13:40:35 +11:00
|
|
|
|
composition.RegisterUnique(factory => factory.GetInstance<IUmbracoDatabaseFactory>().BulkSqlInsertProvider);
|
2020-03-24 14:48:32 +11:00
|
|
|
|
composition.RegisterUnique(hostingEnvironment);
|
|
|
|
|
|
composition.RegisterUnique(backOfficeInfo);
|
2018-12-12 14:28:57 +01:00
|
|
|
|
}
|
2018-11-29 10:35:16 +01:00
|
|
|
|
}
|
|
|
|
|
|
}
|