Sparkdo.BackgroundJobs.Hangfire
1.0.2
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Sparkdo.BackgroundJobs.Hangfire --version 1.0.2
NuGet\Install-Package Sparkdo.BackgroundJobs.Hangfire -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sparkdo.BackgroundJobs.Hangfire" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.BackgroundJobs.Hangfire" Version="1.0.2" />
<PackageReference Include="Sparkdo.BackgroundJobs.Hangfire" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sparkdo.BackgroundJobs.Hangfire --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sparkdo.BackgroundJobs.Hangfire, 1.0.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sparkdo.BackgroundJobs.Hangfire@1.0.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sparkdo.BackgroundJobs.Hangfire&version=1.0.2
#tool nuget:?package=Sparkdo.BackgroundJobs.Hangfire&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sparkdo.BackgroundJobs.Hangfire
Sparkdo Hangfire 后台作业库,提供基于 Hangfire 的后台作业功能集成实现。
功能特性
- 与 Hangfire 后台作业框架无缝集成
- 支持后台作业的排队和执行
- 支持作业优先级和延迟执行
- 支持队列配置和管理
- 与 Sparkdo 框架无缝集成
- 支持 ASP.NET Core 中间件集成
安装
<PackageReference Include="Sparkdo.BackgroundJobs.Hangfire" Version="x.x.x" />
核心组件
SparkdoBackgroundJobsHangfireModule
Hangfire 后台作业模块配置类,负责配置和注册 Hangfire 相关服务到依赖注入容器中:
- 注册
SparkdoDashboardOptionsProvider服务 - 替换默认的后台作业管理器为 Hangfire 实现
- 根据配置决定是否启用后台作业执行
HangfireBackgroundJobManager
Hangfire 后台作业管理器实现,负责将后台作业排队到 Hangfire 系统中执行:
EnqueueAsync(): 将作业加入队列异步执行GetQueueName(): 获取队列名称
HangfireJobExecutionAdapter
Hangfire 作业执行适配器,负责适配 Hangfire 作业执行与 Sparkdo 后台作业执行机制:
ExecuteAsync(): 执行作业
SparkdoDashboardOptionsProvider
Sparkdo Hangfire 仪表板选项提供者,负责配置和提供 Hangfire 仪表板的显示选项:
Get(): 获取仪表板选项
SparkdoHangfireApplicationBuilderExtensions
ASP.NET Core 应用程序构建器扩展类,提供用于配置和启用 Hangfire 仪表板功能的扩展方法:
UseSparkdoHangfireDashboard(): 在应用程序管道中启用 Sparkdo Hangfire 仪表板
使用方法
在您的模块中添加对 Hangfire 的依赖:
public class YourModule : Module
{
public override void Configure(IConfigureContext context)
{
// 添加其他配置...
}
}
在 Program.cs 或启动配置中启用 Hangfire 仪表板:
app.UseSparkdoHangfireDashboard();
扩展性
该库提供了完整的 Hangfire 集成功能实现,可以通过以下方式扩展:
- 继承
HangfireBackgroundJobManager来添加自定义的作业管理逻辑 - 通过 ASP.NET Core 中间件配置来自定义 Hangfire 仪表板行为
- 实现自定义的作业执行适配器
代码结构说明
本项目包含以下主要组件:
模块配置
SparkdoBackgroundJobsHangfireModule: Hangfire 后台作业模块配置类
作业管理
HangfireBackgroundJobManager: Hangfire 后台作业管理器实现HangfireJobExecutionAdapter: Hangfire 作业执行适配器
仪表板配置
SparkdoDashboardOptionsProvider: Sparkdo Hangfire 仪表板选项提供者
ASP.NET Core 集成
SparkdoHangfireApplicationBuilderExtensions: ASP.NET Core 应用程序构建器扩展
所有公共接口和类都添加了详细的 XML 文档注释,便于开发者理解和使用。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Hangfire.AspNetCore (>= 1.8.23)
- Hangfire.InMemory (>= 1.0.0)
- JetBrains.Annotations (>= 2025.2.4)
- Microsoft.AspNetCore.Authorization (>= 10.0.5)
- Microsoft.Extensions.Configuration (>= 10.0.5)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.5)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.5)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.5)
- Microsoft.Extensions.Configuration.Json (>= 10.0.5)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection (>= 10.0.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.DependencyModel (>= 10.0.5)
- Microsoft.Extensions.Diagnostics (>= 10.0.5)
- Microsoft.Extensions.FileProviders.Composite (>= 10.0.5)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.5)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.5)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Localization (>= 10.0.5)
- Microsoft.Extensions.Logging (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Options (>= 10.0.5)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.5)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.5)
- Newtonsoft.Json (>= 13.0.4)
- Nito.AsyncEx.Context (>= 5.1.2)
- Sparkdo.BackgroundJobs.Abstractions (>= 1.0.2)
- Sparkdo.Hangfire (>= 1.0.2)
- System.Linq.Dynamic.Core (>= 1.7.1)
- System.Security.Cryptography.Xml (>= 10.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.3-preview.1 | 30 | 5/17/2026 |
| 1.0.2 | 104 | 4/27/2026 |
| 1.0.2-preview.5 | 53 | 4/15/2026 |
| 1.0.2-preview.4 | 74 | 2/8/2026 |
| 1.0.2-preview.3 | 70 | 2/1/2026 |
| 1.0.2-preview.2 | 71 | 1/31/2026 |
| 1.0.2-preview.1 | 169 | 12/4/2025 |
| 1.0.1 | 215 | 11/27/2025 |
| 1.0.0 | 214 | 11/25/2025 |
| 1.0.0-preview.5 | 136 | 10/24/2025 |