using LightInject; using Umbraco.Core; using Umbraco.Core.Components; using Umbraco.Core.DependencyInjection; using Umbraco.Core.Logging; using Umbraco.Core.Persistence.UnitOfWork; using Umbraco.Core.Services; namespace Umbraco.Web.PublishedCache.NuCache { public class NuCacheComponent : UmbracoComponentBase, IUmbracoCoreComponent { public override void Compose(ServiceContainer container) { base.Compose(container); // register the NuCache facade service container.RegisterSingleton(factory => new FacadeService( new FacadeService.Options { FacadeCacheIsApplicationRequestCache = true }, factory.GetInstance(), factory.GetInstance(), factory.GetInstance(), factory.GetInstance(), factory.GetInstance(), factory.GetInstance())); // add the NuCache health check (hidden from type finder) // todo - no NuCache health check yet //var builder = container.GetInstance(); //builder.Add(); } public void Initialize(IFacadeService service) { // nothing - this just ensures that the service is created at boot time } } }