public static void Configure(ITimerService timerService) { timerService.Schedule(x => { var serviceProvider = (IServiceProvider)x; using (var scope = serviceProvider.CreateScope()) { var cache = scope.ServiceProvider.GetRequiredService <IMemoryCache>(); var pipelineService = scope.ServiceProvider.GetRequiredService <IPipelineService>(); var urlResolver = scope.ServiceProvider.GetService <IPipelineUrlResolver>(); var mapper = scope.ServiceProvider.GetService <IMapper>(); var config = scope.ServiceProvider.GetService <IConfiguration>(); var result = GetFailingTestViewModels(urlResolver, pipelineService, mapper, config); cache.Set(FailingTestsKey, result); } }, 1000 * 60 * 5); }