public static IServiceCollection AddSpeedWagon(this IServiceCollection services, string path, bool cached, IFileProvider contentFileProvider) { IContentService contentService; if (cached) { services.AddHostedService <CacheRefreshingHostedService>(); contentService = new CachedRuntimeContentService( path, null, contentFileProvider ); } else { contentService = new CacheLessRuntimeContentService( path, null, contentFileProvider ); } ISearchService searchService = new LuceneSearchService(contentService, Path.Combine(path, "search")); services.AddSingleton <ISpeedWagonWebContext>( s => new SpeedWagonWebContext( path, contentService, searchService)); return(services); }
private async void DoWork(object state) { CachedRuntimeContentService svc = (CachedRuntimeContentService)this._speedWagonWebContext.ContentService; await svc.SanitiseCache(); }