Mediarq.Hangfire 1.5.1

dotnet add package Mediarq.Hangfire --version 1.5.1
                    
NuGet\Install-Package Mediarq.Hangfire -Version 1.5.1
                    
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="Mediarq.Hangfire" Version="1.5.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Mediarq.Hangfire" Version="1.5.1" />
                    
Directory.Packages.props
<PackageReference Include="Mediarq.Hangfire" />
                    
Project file
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 Mediarq.Hangfire --version 1.5.1
                    
#r "nuget: Mediarq.Hangfire, 1.5.1"
                    
#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 Mediarq.Hangfire@1.5.1
                    
#: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=Mediarq.Hangfire&version=1.5.1
                    
Install as a Cake Addin
#tool nuget:?package=Mediarq.Hangfire&version=1.5.1
                    
Install as a Cake Tool

Mediarq.Hangfire

Enqueue or schedule a Mediarq command as a Hangfire background job — it runs through the real Mediarq dispatch pipeline (behaviors, validation, ...) when the job executes.

dotnet add package Mediarq.Hangfire

Usage

builder.Services.AddMediarqHangfire();
builder.Services.AddHangfire(cfg => cfg.UseSqlServerStorage(connectionString));
builder.Services.AddHangfireServer();
public record SendWelcomeEmail(Guid UserId) : ICommand;
// Run as soon as a worker is free.
backgroundJobClient.Enqueue(new SendWelcomeEmail(userId));

// Run after a delay.
backgroundJobClient.Schedule(new SendWelcomeEmail(userId), TimeSpan.FromMinutes(10));

// Run at a specific point in time.
backgroundJobClient.Schedule(new SendWelcomeEmail(userId), DateTimeOffset.UtcNow.AddDays(1));

Only ICommand (the no-result form) is supported — a job scheduled for later has no caller left to observe a return value, so there is nothing meaningful for a query or a Result<T>-returning command to report back to. If the handler fails, Hangfire's own retry policy applies as normal.

How it works

Enqueue/Schedule don't serialize your command against the ICommand marker interface — each is a generic method, so the concrete command type is captured at the call site and that's what Hangfire's job serializer stores. (Passing a variable statically typed as ICommand itself would make Hangfire store the interface as the parameter type and fail to deserialize the concrete command back — always call these extensions directly on the command instance, not through an ICommand-typed variable.)

Requires a running Hangfire server (AddHangfireServer()) whose job activator resolves scoped services (the default services.AddHangfire(...) wiring from Hangfire.NetCore/Hangfire.AspNetCore does this automatically) so IMediarqJobDispatcher — and everything the command's handler depends on — resolves correctly when the job runs.

Learn more

Wiring extensions · Full README

MIT © Nicolas Rouffart

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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.

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.5.1 124 7/26/2026
1.5.0 112 7/26/2026