gitextract_a8bklu6g/ ├── .editorconfig ├── .gitattributes ├── .gitignore ├── .nuget/ │ ├── packages.config │ └── packages.lock.json ├── CONTRIBUTING.md ├── COPYING ├── COPYING.LESSER ├── Directory.Build.props ├── Hangfire.sln ├── Hangfire.sln.DotSettings ├── LICENSE.md ├── LICENSE_ROYALTYFREE ├── LICENSE_STANDARD ├── NOTICES ├── NuGet.config ├── README.md ├── SECURITY.md ├── appveyor.yml ├── build.bat ├── build.sh ├── coverity-scan.ps1 ├── nuspecs/ │ ├── Hangfire.AspNetCore.nuspec │ ├── Hangfire.Core.nuspec │ ├── Hangfire.NetCore.nuspec │ ├── Hangfire.SqlServer.MSMQ.nuspec │ ├── Hangfire.SqlServer.nuspec │ └── Hangfire.nuspec ├── psake-project.ps1 ├── samples/ │ ├── ConsoleSample/ │ │ ├── ConsoleSample.csproj │ │ ├── GenericServices.cs │ │ ├── NewFeatures.cs │ │ ├── Program.cs │ │ ├── Services.cs │ │ ├── Startup.cs │ │ ├── app.config │ │ └── packages.lock.json │ └── NetCoreSample/ │ ├── NetCoreSample.csproj │ ├── Program.cs │ └── packages.lock.json ├── src/ │ ├── Directory.Build.props │ ├── Hangfire.AspNetCore/ │ │ ├── Dashboard/ │ │ │ ├── AspNetCoreDashboardContext.cs │ │ │ ├── AspNetCoreDashboardContextExtensions.cs │ │ │ ├── AspNetCoreDashboardMiddleware.cs │ │ │ ├── AspNetCoreDashboardRequest.cs │ │ │ └── AspNetCoreDashboardResponse.cs │ │ ├── Hangfire.AspNetCore.csproj │ │ ├── HangfireApplicationBuilderExtensions.cs │ │ ├── HangfireEndpointRouteBuilderExtensions.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── packages.lock.json │ ├── Hangfire.Core/ │ │ ├── AppBuilderExtensions.cs │ │ ├── App_Packages/ │ │ │ ├── LibLog.1.4/ │ │ │ │ └── LibLog.cs │ │ │ ├── StackTraceFormatter/ │ │ │ │ └── StackTraceFormatter.cs │ │ │ └── StackTraceParser/ │ │ │ └── StackTraceParser.cs │ │ ├── AttemptsExceededAction.cs │ │ ├── AutomaticRetryAttribute.cs │ │ ├── BackgroundJob.Instance.cs │ │ ├── BackgroundJob.cs │ │ ├── BackgroundJobClient.cs │ │ ├── BackgroundJobClientException.cs │ │ ├── BackgroundJobClientExtensions.cs │ │ ├── BackgroundJobServer.cs │ │ ├── BackgroundJobServerOptions.cs │ │ ├── CaptureCultureAttribute.cs │ │ ├── Client/ │ │ │ ├── BackgroundJobFactory.cs │ │ │ ├── ClientExceptionContext.cs │ │ │ ├── CoreBackgroundJobFactory.cs │ │ │ ├── CreateContext.cs │ │ │ ├── CreatedContext.cs │ │ │ ├── CreatingContext.cs │ │ │ ├── IBackgroundJobFactory.cs │ │ │ ├── IClientExceptionFilter.cs │ │ │ └── IClientFilter.cs │ │ ├── Common/ │ │ │ ├── CachedExpressionCompiler.cs │ │ │ ├── CancellationTokenExtentions.cs │ │ │ ├── ExpressionUtil/ │ │ │ │ ├── BinaryExpressionFingerprint.cs │ │ │ │ ├── CachedExpressionCompiler.cs │ │ │ │ ├── ConditionalExpressionFingerprint.cs │ │ │ │ ├── ConstantExpressionFingerprint.cs │ │ │ │ ├── DefaultExpressionFingerprint.cs │ │ │ │ ├── ExpressionFingerprint.cs │ │ │ │ ├── ExpressionFingerprintChain.cs │ │ │ │ ├── FingerprintingExpressionVisitor.cs │ │ │ │ ├── HashCodeCombiner.cs │ │ │ │ ├── Hoisted.cs │ │ │ │ ├── HoistingExpressionVisitor.cs │ │ │ │ ├── IndexExpressionFingerprint.cs │ │ │ │ ├── LambdaExpressionFingerprint.cs │ │ │ │ ├── MemberExpressionFingerprint.cs │ │ │ │ ├── MethodCallExpressionFingerprint.cs │ │ │ │ ├── ParameterExpressionFingerprint.cs │ │ │ │ ├── TypeBinaryExpressionFingerprint.cs │ │ │ │ └── UnaryExpressionFingerprint.cs │ │ │ ├── IJobFilter.cs │ │ │ ├── IJobFilterProvider.cs │ │ │ ├── Job.cs │ │ │ ├── JobFilter.cs │ │ │ ├── JobFilterAttribute.cs │ │ │ ├── JobFilterAttributeFilterProvider.cs │ │ │ ├── JobFilterCollection.cs │ │ │ ├── JobFilterInfo.cs │ │ │ ├── JobFilterProviderCollection.cs │ │ │ ├── JobFilterProviders.cs │ │ │ ├── JobFilterScope.cs │ │ │ ├── JobHelper.cs │ │ │ ├── JobLoadException.cs │ │ │ ├── LanguagePolyfills.cs │ │ │ ├── MethodInfoExtensions.cs │ │ │ ├── ReflectedAttributeCache.cs │ │ │ ├── SerializationHelper.cs │ │ │ ├── ShallowExceptionHelper.cs │ │ │ ├── TypeExtensions.cs │ │ │ ├── TypeHelper.cs │ │ │ └── TypeHelperSerializationBinder.cs │ │ ├── ContinuationsSupportAttribute.cs │ │ ├── Cron.cs │ │ ├── Dashboard/ │ │ │ ├── BatchCommandDispatcher.cs │ │ │ ├── CombinedResourceDispatcher.cs │ │ │ ├── CommandDispatcher.cs │ │ │ ├── Content/ │ │ │ │ ├── css/ │ │ │ │ │ ├── hangfire-dark.css │ │ │ │ │ └── hangfire.css │ │ │ │ ├── js/ │ │ │ │ │ └── hangfire.js │ │ │ │ └── resx/ │ │ │ │ ├── Strings.Designer.cs │ │ │ │ ├── Strings.ca.resx │ │ │ │ ├── Strings.de.resx │ │ │ │ ├── Strings.es.resx │ │ │ │ ├── Strings.fa.resx │ │ │ │ ├── Strings.fr.resx │ │ │ │ ├── Strings.nb.resx │ │ │ │ ├── Strings.nl.resx │ │ │ │ ├── Strings.pt-BR.resx │ │ │ │ ├── Strings.pt-PT.resx │ │ │ │ ├── Strings.pt.resx │ │ │ │ ├── Strings.resx │ │ │ │ ├── Strings.sv.resx │ │ │ │ ├── Strings.tr-TR.resx │ │ │ │ ├── Strings.zh-TW.resx │ │ │ │ └── Strings.zh.resx │ │ │ ├── DashboardContext.cs │ │ │ ├── DashboardMetric.cs │ │ │ ├── DashboardMetrics.cs │ │ │ ├── DashboardRequest.cs │ │ │ ├── DashboardResponse.cs │ │ │ ├── DashboardRoutes.cs │ │ │ ├── EmbeddedResourceDispatcher.cs │ │ │ ├── HtmlHelper.cs │ │ │ ├── IDashboardAsyncAuthorizationFilter.cs │ │ │ ├── IDashboardAuthorizationFilter.cs │ │ │ ├── IDashboardDispatcher.cs │ │ │ ├── JobDetailsRenderer.cs │ │ │ ├── JobHistoryRenderer.cs │ │ │ ├── JobMethodCallRenderer.cs │ │ │ ├── JobsSidebarMenu.cs │ │ │ ├── JsonStats.cs │ │ │ ├── LocalRequestsOnlyAuthorizationFilter.cs │ │ │ ├── MenuItem.cs │ │ │ ├── Metric.cs │ │ │ ├── NavigationMenu.cs │ │ │ ├── NonEscapedString.cs │ │ │ ├── Owin/ │ │ │ │ ├── IOwinDashboardAntiforgery.cs │ │ │ │ ├── MiddlewareExtensions.cs │ │ │ │ ├── OwinDashboardContext.cs │ │ │ │ ├── OwinDashboardContextExtensions.cs │ │ │ │ ├── OwinDashboardRequest.cs │ │ │ │ └── OwinDashboardResponse.cs │ │ │ ├── Pager.cs │ │ │ ├── Pages/ │ │ │ │ ├── AwaitingJobsPage.cshtml │ │ │ │ ├── AwaitingJobsPage.cshtml.cs │ │ │ │ ├── DeletedJobsPage.cshtml │ │ │ │ ├── DeletedJobsPage.cshtml.cs │ │ │ │ ├── EnqueuedJobsPage.cs │ │ │ │ ├── EnqueuedJobsPage.cshtml │ │ │ │ ├── EnqueuedJobsPage.cshtml.cs │ │ │ │ ├── FailedJobsPage.cshtml │ │ │ │ ├── FailedJobsPage.cshtml.cs │ │ │ │ ├── FetchedJobsPage.cs │ │ │ │ ├── FetchedJobsPage.cshtml │ │ │ │ ├── FetchedJobsPage.cshtml.cs │ │ │ │ ├── HomePage.cs │ │ │ │ ├── HomePage.cshtml │ │ │ │ ├── HomePage.cshtml.cs │ │ │ │ ├── JobDetailsPage.cs │ │ │ │ ├── JobDetailsPage.cshtml │ │ │ │ ├── JobDetailsPage.cshtml.cs │ │ │ │ ├── LayoutPage.cs │ │ │ │ ├── LayoutPage.cshtml │ │ │ │ ├── LayoutPage.cshtml.cs │ │ │ │ ├── ProcessingJobsPage.cshtml │ │ │ │ ├── ProcessingJobsPage.cshtml.cs │ │ │ │ ├── QueuesPage.cshtml │ │ │ │ ├── QueuesPage.cshtml.cs │ │ │ │ ├── RecurringJobsPage.cshtml │ │ │ │ ├── RecurringJobsPage.cshtml.cs │ │ │ │ ├── RetriesPage.cshtml │ │ │ │ ├── RetriesPage.cshtml.cs │ │ │ │ ├── ScheduledJobsPage.cshtml │ │ │ │ ├── ScheduledJobsPage.cshtml.cs │ │ │ │ ├── ServersPage.cshtml │ │ │ │ ├── ServersPage.cshtml.cs │ │ │ │ ├── SucceededJobs.cshtml │ │ │ │ ├── SucceededJobs.cshtml.cs │ │ │ │ ├── _BlockMetric.cs │ │ │ │ ├── _BlockMetric.cshtml │ │ │ │ ├── _BlockMetric.cshtml.cs │ │ │ │ ├── _Breadcrumbs.cs │ │ │ │ ├── _Breadcrumbs.cshtml │ │ │ │ ├── _Breadcrumbs.cshtml.cs │ │ │ │ ├── _ErrorAlert.cshtml │ │ │ │ ├── _ErrorAlert.cshtml.cs │ │ │ │ ├── _InlineMetric.cs │ │ │ │ ├── _InlineMetric.cshtml │ │ │ │ ├── _InlineMetric.cshtml.cs │ │ │ │ ├── _Navigation.cshtml │ │ │ │ ├── _Navigation.cshtml.cs │ │ │ │ ├── _Paginator.cs │ │ │ │ ├── _Paginator.cshtml │ │ │ │ ├── _Paginator.cshtml.cs │ │ │ │ ├── _PerPageSelector.cs │ │ │ │ ├── _PerPageSelector.cshtml │ │ │ │ ├── _PerPageSelector.cshtml.cs │ │ │ │ ├── _SidebarMenu.cs │ │ │ │ ├── _SidebarMenu.cshtml │ │ │ │ └── _SidebarMenu.cshtml.cs │ │ │ ├── RazorPage.cs │ │ │ ├── RazorPageDispatcher.cs │ │ │ ├── RouteCollection.cs │ │ │ ├── RouteCollectionExtensions.cs │ │ │ └── UrlHelper.cs │ │ ├── DashboardOptions.cs │ │ ├── DisableConcurrentExecutionAttribute.cs │ │ ├── ExceptionInfo.cs │ │ ├── ExceptionTypeHelper.cs │ │ ├── FromParameterAttribute.cs │ │ ├── FromResultAttribute.cs │ │ ├── GlobalConfiguration.cs │ │ ├── GlobalConfigurationExtensions.cs │ │ ├── GlobalJobFilters.cs │ │ ├── GlobalStateHandlers.cs │ │ ├── Hangfire.Core.csproj │ │ ├── IBackgroundJobClient.cs │ │ ├── IGlobalConfiguration.cs │ │ ├── IJobCancellationToken.cs │ │ ├── IRecurringJobManager.cs │ │ ├── ITimeZoneResolver.cs │ │ ├── IdempotentCompletionAttribute.cs │ │ ├── JobActivator.cs │ │ ├── JobActivatorContext.cs │ │ ├── JobActivatorScope.cs │ │ ├── JobCancellationToken.cs │ │ ├── JobCancellationTokenExtensions.cs │ │ ├── JobContinuationOptions.cs │ │ ├── JobDisplayNameAttribute.cs │ │ ├── JobParameterInjectionFilter.cs │ │ ├── JobStorage.cs │ │ ├── LatencyTimeoutAttribute.cs │ │ ├── MisfireHandlingMode.cs │ │ ├── MoreLinq/ │ │ │ └── MoreEnumerable.Pairwise.cs │ │ ├── Obsolete/ │ │ │ ├── BootstrapperConfigurationExtensions.cs │ │ │ ├── CreateJobFailedException.cs │ │ │ ├── DashboardMiddleware.cs │ │ │ ├── DashboardOwinExtensions.cs │ │ │ ├── IAuthorizationFilter.cs │ │ │ ├── IBootstrapperConfiguration.cs │ │ │ ├── IRequestDispatcher.cs │ │ │ ├── IServerComponent.cs │ │ │ ├── IServerProcess.cs │ │ │ ├── Job.Obsolete.cs │ │ │ ├── OwinBootstrapper.cs │ │ │ ├── RequestDispatcherContext.cs │ │ │ ├── RequestDispatcherWrapper.cs │ │ │ ├── ServerOwinExtensions.cs │ │ │ ├── ServerWatchdogOptions.cs │ │ │ ├── StartupConfiguration.cs │ │ │ └── StateContext.cs │ │ ├── Processing/ │ │ │ ├── AppDomainUnloadMonitor.cs │ │ │ ├── BackgroundDispatcher.cs │ │ │ ├── BackgroundDispatcherAsync.cs │ │ │ ├── BackgroundExecution.cs │ │ │ ├── BackgroundExecutionOptions.cs │ │ │ ├── BackgroundTaskScheduler.cs │ │ │ ├── IBackgroundDispatcher.cs │ │ │ ├── IBackgroundExecution.cs │ │ │ ├── InlineSynchronizationContext.cs │ │ │ └── TaskExtensions.cs │ │ ├── Profiling/ │ │ │ ├── EmptyProfiler.cs │ │ │ ├── IProfiler.cs │ │ │ ├── ProfilerExtensions.cs │ │ │ └── SlowLogProfiler.cs │ │ ├── Properties/ │ │ │ ├── Annotations.cs │ │ │ ├── AssemblyInfo.cs │ │ │ └── NamespaceDoc.cs │ │ ├── QueueAttribute.cs │ │ ├── Razor.build │ │ ├── RecurringJob.cs │ │ ├── RecurringJobEntity.cs │ │ ├── RecurringJobExtensions.cs │ │ ├── RecurringJobManager.cs │ │ ├── RecurringJobManagerExtensions.cs │ │ ├── RecurringJobOptions.cs │ │ ├── Server/ │ │ │ ├── AspNetShutdownDetector.cs │ │ │ ├── BackgroundJobPerformer.cs │ │ │ ├── BackgroundProcessContext.cs │ │ │ ├── BackgroundProcessDispatcherBuilder.cs │ │ │ ├── BackgroundProcessDispatcherBuilderAsync.cs │ │ │ ├── BackgroundProcessExtensions.cs │ │ │ ├── BackgroundProcessingServer.cs │ │ │ ├── BackgroundProcessingServerOptions.cs │ │ │ ├── BackgroundServerContext.cs │ │ │ ├── BackgroundServerProcess.cs │ │ │ ├── CoreBackgroundJobPerformer.cs │ │ │ ├── DelayedJobScheduler.cs │ │ │ ├── IBackgroundJobPerformer.cs │ │ │ ├── IBackgroundProcess.cs │ │ │ ├── IBackgroundProcessAsync.cs │ │ │ ├── IBackgroundProcessDispatcherBuilder.cs │ │ │ ├── IBackgroundProcessingServer.cs │ │ │ ├── IBackgroundServerProcess.cs │ │ │ ├── IServerExceptionFilter.cs │ │ │ ├── IServerFilter.cs │ │ │ ├── JobAbortedException.cs │ │ │ ├── JobPerformanceException.cs │ │ │ ├── PerformContext.cs │ │ │ ├── PerformedContext.cs │ │ │ ├── PerformingContext.cs │ │ │ ├── RecurringJobScheduler.cs │ │ │ ├── ServerContext.cs │ │ │ ├── ServerExceptionContext.cs │ │ │ ├── ServerHeartbeatProcess.cs │ │ │ ├── ServerJobCancellationToken.cs │ │ │ ├── ServerJobCancellationWatcher.cs │ │ │ ├── ServerProcessDispatcherBuilder.cs │ │ │ ├── ServerWatchdog.cs │ │ │ └── Worker.cs │ │ ├── States/ │ │ │ ├── ApplyStateContext.cs │ │ │ ├── AwaitingState.cs │ │ │ ├── BackgroundJobStateChanger.cs │ │ │ ├── CoreStateMachine.cs │ │ │ ├── DeletedState.cs │ │ │ ├── ElectStateContext.cs │ │ │ ├── EnqueuedState.cs │ │ │ ├── FailedState.cs │ │ │ ├── IApplyStateFilter.cs │ │ │ ├── IBackgroundJobStateChanger.cs │ │ │ ├── IElectStateFilter.cs │ │ │ ├── IState.cs │ │ │ ├── IStateHandler.cs │ │ │ ├── IStateMachine.cs │ │ │ ├── ProcessingState.cs │ │ │ ├── ScheduledState.cs │ │ │ ├── StateChangeContext.cs │ │ │ ├── StateHandlerCollection.cs │ │ │ ├── StateMachine.cs │ │ │ └── SucceededState.cs │ │ ├── StatisticsHistoryAttribute.cs │ │ ├── Storage/ │ │ │ ├── BackgroundServerGoneException.cs │ │ │ ├── DistributedLockTimeoutException.cs │ │ │ ├── IFetchedJob.cs │ │ │ ├── IMonitoringApi.cs │ │ │ ├── IStorageConnection.cs │ │ │ ├── IWriteOnlyTransaction.cs │ │ │ ├── InvocationData.cs │ │ │ ├── JobData.cs │ │ │ ├── JobStorageConnection.cs │ │ │ ├── JobStorageFeatures.cs │ │ │ ├── JobStorageMonitor.cs │ │ │ ├── JobStorageTransaction.cs │ │ │ ├── Monitoring/ │ │ │ │ ├── AwaitingJobDto.cs │ │ │ │ ├── DeletedJobDto.cs │ │ │ │ ├── EnqueuedJobDto.cs │ │ │ │ ├── FailedJobDto.cs │ │ │ │ ├── FetchedJobDto.cs │ │ │ │ ├── JobDetailsDto.cs │ │ │ │ ├── JobList.cs │ │ │ │ ├── ProcessingJobDto.cs │ │ │ │ ├── QueueWithTopEnqueuedJobsDto.cs │ │ │ │ ├── ScheduledJobDto.cs │ │ │ │ ├── ServerDto.cs │ │ │ │ ├── StateHistoryDto.cs │ │ │ │ ├── StatisticsDto.cs │ │ │ │ └── SucceededJobDto.cs │ │ │ ├── RecurringJobDto.cs │ │ │ ├── StateData.cs │ │ │ └── StorageConnectionExtensions.cs │ │ └── packages.lock.json │ ├── Hangfire.NetCore/ │ │ ├── AspNetCore/ │ │ │ ├── AspNetCoreJobActivator.cs │ │ │ ├── AspNetCoreJobActivatorScope.cs │ │ │ ├── AspNetCoreLog.cs │ │ │ └── AspNetCoreLogProvider.cs │ │ ├── BackgroundJobServerHostedService.cs │ │ ├── BackgroundProcessingServerHostedService.cs │ │ ├── DefaultClientManagerFactory.cs │ │ ├── Hangfire.NetCore.csproj │ │ ├── HangfireServiceCollectionExtensions.cs │ │ ├── IBackgroundJobClientFactory.cs │ │ ├── IRecurringJobManagerFactory.cs │ │ └── packages.lock.json │ ├── Hangfire.SqlServer/ │ │ ├── Constants.cs │ │ ├── CountersAggregator.cs │ │ ├── DbCommandExtensions.cs │ │ ├── DefaultInstall.sql │ │ ├── DefaultInstall.tt │ │ ├── EnqueuedAndFetchedCountDto.cs │ │ ├── Entities/ │ │ │ ├── JobParameter.cs │ │ │ ├── Server.cs │ │ │ ├── ServerData.cs │ │ │ ├── SqlHash.cs │ │ │ ├── SqlJob.cs │ │ │ └── SqlState.cs │ │ ├── ExceptionTypeHelper.cs │ │ ├── ExpirationManager.cs │ │ ├── Hangfire.SqlServer.csproj │ │ ├── IPersistentJobQueue.cs │ │ ├── IPersistentJobQueueMonitoringApi.cs │ │ ├── IPersistentJobQueueProvider.cs │ │ ├── Install.sql │ │ ├── PersistentJobQueueProviderCollection.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── SqlCommandBatch.cs │ │ ├── SqlCommandSet.cs │ │ ├── SqlServerBootstrapperConfigurationExtensions.cs │ │ ├── SqlServerConnection.cs │ │ ├── SqlServerDistributedLock.cs │ │ ├── SqlServerDistributedLockException.cs │ │ ├── SqlServerHeartbeatProcess.cs │ │ ├── SqlServerJobQueue.cs │ │ ├── SqlServerJobQueueMonitoringApi.cs │ │ ├── SqlServerJobQueueProvider.cs │ │ ├── SqlServerMonitoringApi.cs │ │ ├── SqlServerObjectsInstaller.cs │ │ ├── SqlServerStorage.cs │ │ ├── SqlServerStorageExtensions.cs │ │ ├── SqlServerStorageOptions.cs │ │ ├── SqlServerTimeoutJob.cs │ │ ├── SqlServerTransactionJob.cs │ │ ├── SqlServerWriteOnlyTransaction.cs │ │ ├── TimestampHelper.cs │ │ └── packages.lock.json │ ├── Hangfire.SqlServer.Msmq/ │ │ ├── Hangfire.SqlServer.Msmq.csproj │ │ ├── IMsmqTransaction.cs │ │ ├── MessageQueueExtensions.cs │ │ ├── MsmqDtcTransaction.cs │ │ ├── MsmqExtensions.cs │ │ ├── MsmqFetchedJob.cs │ │ ├── MsmqInternalTransaction.cs │ │ ├── MsmqJobQueue.cs │ │ ├── MsmqJobQueueMonitoringApi.cs │ │ ├── MsmqJobQueueProvider.cs │ │ ├── MsmqSqlServerStorageExtensions.cs │ │ ├── MsmqTransactionType.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── packages.lock.json │ └── SharedAssemblyInfo.cs └── tests/ ├── Directory.Build.props ├── Hangfire.Core.Tests/ │ ├── BackgroundJobClientExtensionsFacts.cs │ ├── BackgroundJobClientFacts.cs │ ├── BackgroundJobFacts.cs │ ├── BackgroundJobServerFacts.cs │ ├── CaptureCultureAttributeFacts.cs │ ├── Client/ │ │ ├── BackgroundJobFactoryFacts.cs │ │ ├── ClientExceptionContextFacts.cs │ │ ├── CoreBackgroundJobFactoryFacts.cs │ │ ├── CreateContextFacts.cs │ │ ├── CreatedContextFacts.cs │ │ └── CreatingContextFacts.cs │ ├── Common/ │ │ ├── CancellationTokenExtentionsFacts.cs │ │ ├── JobArgumentFacts.cs │ │ ├── JobFacts.cs │ │ ├── JobFilterAttributeFacts.cs │ │ ├── JobFilterAttributeFilterProviderFacts.cs │ │ ├── JobFilterCollectionFacts.cs │ │ ├── JobFilterFacts.cs │ │ ├── JobFilterProviderCollectionFacts.cs │ │ ├── JobHelperFacts.cs │ │ ├── JobLoadExceptionFacts.cs │ │ ├── MethodInfoExtensionsFacts.cs │ │ ├── SerializationHelperFacts.cs │ │ ├── ShallowExceptionHelperFacts.cs │ │ └── TypeExtensionsFacts.cs │ ├── ContinuationsSupportAttributeFacts.cs │ ├── CronFacts.cs │ ├── Dashboard/ │ │ ├── BatchCommandDispatcherFacts.cs │ │ ├── CommandDispatcherFacts.cs │ │ ├── DashboardOptionsFacts.cs │ │ └── HtmlHelperFacts.cs │ ├── GlobalConfigurationExtensionsFacts.cs │ ├── GlobalStateHandlersFacts.cs │ ├── GlobalTestsConfiguration.cs │ ├── Hangfire.Core.Tests.csproj │ ├── Hangfire.Core.Tests.csproj.DotSettings │ ├── JobActivatorFacts.cs │ ├── JobCancellationTokenFacts.cs │ ├── JobParameterInjectionFilterFacts.cs │ ├── JobStorageFacts.cs │ ├── LatencyTimeoutAttributeFacts.cs │ ├── Mocks/ │ │ ├── ApplyStateContextMock.cs │ │ ├── BackgroundJobMock.cs │ │ ├── BackgroundProcessContextMock.cs │ │ ├── CreateContextMock.cs │ │ ├── ElectStateContextMock.cs │ │ ├── PerformContextMock.cs │ │ └── StateChangeContextMock.cs │ ├── Obsolete/ │ │ └── ServerWatchdogOptionsFacts.cs │ ├── PreserveCultureAttributeFacts.cs │ ├── Processing/ │ │ └── TaskExtensionsFacts.cs │ ├── Profiling/ │ │ └── ProfilerFacts.cs │ ├── QueueAttributeFacts.cs │ ├── RecurringJobEntityFacts.cs │ ├── RecurringJobManagerFacts.cs │ ├── RecurringJobOptionsFacts.cs │ ├── RetryAttributeFacts.cs │ ├── Server/ │ │ ├── BackgroundJobPerformerFacts.cs │ │ ├── BackgroundJobServerOptionsFacts.cs │ │ ├── BackgroundProcessContextFacts.cs │ │ ├── BackgroundProcessingServerFacts.cs │ │ ├── CoreBackgroundJobPerformerFacts.cs │ │ ├── DelayedJobSchedulerFacts.cs │ │ ├── PerformContextFacts.cs │ │ ├── RecurringJobSchedulerFacts.cs │ │ ├── ServerJobCancellationTokenFacts.cs │ │ ├── ServerJobCancellationWatcherFacts.cs │ │ ├── ServerWatchdogFacts.cs │ │ └── WorkerFacts.cs │ ├── States/ │ │ ├── ApplyStateContextFacts.cs │ │ ├── AwaitingStateFacts.cs │ │ ├── AwaitingStateHandlerFacts.cs │ │ ├── BackgroundJobStateChangerFacts.cs │ │ ├── CoreStateMachineFacts.cs │ │ ├── DeletedStateFacts.cs │ │ ├── DeletedStateHandlerFacts.cs │ │ ├── ElectStateContextFacts.cs │ │ ├── EnqueuedStateFacts.cs │ │ ├── EnqueuedStateHandlerFacts.cs │ │ ├── EnqueuedStateValidationFacts.cs │ │ ├── FailedStateFacts.cs │ │ ├── ProcessingStateFacts.cs │ │ ├── ScheduledStateFacts.cs │ │ ├── ScheduledStateHandlerFacts.cs │ │ ├── StateChangeContextFacts.cs │ │ ├── StateHandlerCollectionFacts.cs │ │ ├── StateMachineFacts.cs │ │ ├── SucceededStateFacts.cs │ │ └── SucceededStateHandlerFacts.cs │ ├── StatisticsHistoryAttributeFacts.cs │ ├── Storage/ │ │ ├── InvocationDataFacts.cs │ │ ├── MonitoringTypeFacts.cs │ │ └── StorageConnectionExtensionsFacts.cs │ ├── Stubs/ │ │ ├── DashboardContextStub.cs │ │ ├── DashboardResponseStub.cs │ │ └── JobStorageStub.cs │ ├── Utils/ │ │ ├── CleanSerializerSettingsAttribute.cs │ │ ├── CultureHelper.cs │ │ ├── DataCompatibilityRangeFactAttribute.cs │ │ ├── DataCompatibilityRangeFactDiscoverer.cs │ │ ├── DataCompatibilityRangeTestCase.cs │ │ ├── DataCompatibilityRangeTestCaseRunner.cs │ │ ├── DataCompatibilityRangeTestRunner.cs │ │ ├── DataCompatibilityRangeTheoryAttribute.cs │ │ ├── DataCompatibilityRangeTheoryDiscoverer.cs │ │ ├── DataCompatibilityRangeTheoryTestCase.cs │ │ ├── DataCompatibilityRangeTheoryTestCaseRunner.cs │ │ ├── GlobalLockAttribute.cs │ │ ├── PlatformHelper.cs │ │ ├── SequenceAttribute.cs │ │ ├── SerializerSettingsHelper.cs │ │ └── StaticLockAttribute.cs │ └── packages.lock.json ├── Hangfire.SqlServer.Msmq.Tests/ │ ├── Hangfire.SqlServer.Msmq.Tests.csproj │ ├── MessageQueueExtensionsFacts.cs │ ├── MsmqJobQueueFacts.cs │ ├── MsmqJobQueueMonitoringApiFacts.cs │ ├── MsmqJobQueueProviderFacts.cs │ ├── MsmqSqlServerStorageExtensionsFacts.cs │ ├── Utils/ │ │ ├── CleanMsmqQueueAttribute.cs │ │ └── MsmqUtils.cs │ └── packages.lock.json └── Hangfire.SqlServer.Tests/ ├── CountersAggregatorFacts.cs ├── ExpirationManagerFacts.cs ├── GlobalTestsConfiguration.cs ├── Hangfire.SqlServer.Tests.csproj ├── PersistentJobQueueProviderCollectionFacts.cs ├── SqlServerConnectionFacts.cs ├── SqlServerDistributedLockFacts.cs ├── SqlServerJobQueueFacts.cs ├── SqlServerMonitoringApiFacts.cs ├── SqlServerStorageFacts.cs ├── SqlServerTimeoutJobFacts.cs ├── SqlServerTransactionJobFacts.cs ├── SqlServerWriteOnlyTransactionFacts.cs ├── StorageOptionsFacts.cs ├── Utils/ │ ├── CleanDatabaseAttribute.cs │ ├── CleanSerializerSettingsAttribute.cs │ ├── ConnectionUtils.cs │ └── SerializerSettingsHelper.cs └── packages.lock.json