WorkflowCoreHangfire.AspNetCore 1.0.0

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

WorkflowCoreHangfire.AspNetCore

NuGet

🚀 The complete ASP.NET Core integration for combining Hangfire job scheduling with WorkflowCore workflow orchestration.

Features

One-line setup - Automatic configuration with dashboard integration
🌐 HttpContext support - Access HTTP request context in background workflows
📊 Rich dashboard - Beautiful workflow visualization and monitoring
🛡️ Production ready - Built on proven technologies

Installation

dotnet add package WorkflowCoreHangfire.AspNetCore

Quick Start

1. Configure Services

using Hangfire.WorkflowCore.Extensions;

var builder = WebApplication.CreateBuilder(args);

// One-line setup with automatic dashboard integration
builder.Services.AddHangfireWorkflowCoreAspNetCore(
    hangfire => hangfire.UseMemoryStorage());
    
// Includes:
// ✅ WorkflowCore integration
// ✅ Dashboard visualization  
// ✅ HttpContext support
// ✅ Background job processing

var app = builder.Build();

2. Add Dashboard

// Workflow information included automatically
app.UseHangfireDashboard("/hangfire");

app.Run();

3. Create a Workflow

public class MyWorkflow : IWorkflow<MyData>
{
    public string Id => "my-workflow";
    public int Version => 1;

    public void Build(IWorkflowBuilder<MyData> builder)
    {
        builder
            .StartWith<ProcessDataStep>()
                .Input(step => step.Data, data => data)
            .Then<SendNotificationStep>();
    }
}

4. Execute Workflows

// Execute immediately
var jobId = BackgroundJobWorkflow.Instance
    .Enqueue<MyWorkflow, MyData>(new MyData { Value = "Hello" });

// Schedule for later
var scheduledJobId = BackgroundJobWorkflow.Instance
    .ScheduleWorkflow<MyWorkflow, MyData>(
        new MyData { Value = "Scheduled" }, 
        TimeSpan.FromMinutes(30));

HttpContext Access

Access HTTP request context in your workflow steps:

public class HttpAwareStep : StepBody
{
    private readonly IHttpContextSnapshotProvider _httpContext;
    
    public HttpAwareStep(IHttpContextSnapshotProvider httpContext)
    {
        _httpContext = httpContext;
    }
    
    public override ExecutionResult Run(IStepExecutionContext context)
    {
        var userAgent = _httpContext.UserAgent;
        var userId = _httpContext.UserId;
        
        // Use HTTP context data in background workflow
        return ExecutionResult.Next();
    }
}

Dashboard Features

Navigate to /hangfire to see:

  • 🔍 Workflow Details: Complete execution information
  • 📈 Step Progress: Real-time step monitoring
  • 🎯 Data Visualization: Input/output data for each step
  • 🚨 Error Tracking: Detailed error information

Advanced Configuration

services.AddHangfireWorkflowCoreAspNetCore(
    hangfire =>
    {
        hangfire.UseSqlServerStorage(connectionString);
        hangfire.UseColouredConsoleLogProvider();
    },
    workflow =>
    {
        workflow.UseSqlServer(connectionString, true, true);
        workflow.UseLockProvider(new SqlServerLockProvider(connectionString));
    });

Package Relationships

  • WorkflowCoreHangfire - Core integration library
  • WorkflowCoreHangfire.Dashboard - Dashboard visualization
  • WorkflowCoreHangfire.Abstractions - Interfaces and contracts

This package includes all dependencies for a complete solution.

Documentation

📖 Getting Started Guide
📖 ASP.NET Core Integration
📖 Complete Documentation

Support

💖 Support this project: Buy me a coffee

License

Licensed under LGPL v3 - see LICENSE for details.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  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 was computed.  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 was computed.  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.0.0 258 9/21/2025