Workable.AspNetCore
1.1.63026.1
See the version list below for details.
dotnet add package Workable.AspNetCore --version 1.1.63026.1
NuGet\Install-Package Workable.AspNetCore -Version 1.1.63026.1
<PackageReference Include="Workable.AspNetCore" Version="1.1.63026.1" />
<PackageVersion Include="Workable.AspNetCore" Version="1.1.63026.1" />
<PackageReference Include="Workable.AspNetCore" />
paket add Workable.AspNetCore --version 1.1.63026.1
#r "nuget: Workable.AspNetCore, 1.1.63026.1"
#:package Workable.AspNetCore@1.1.63026.1
#addin nuget:?package=Workable.AspNetCore&version=1.1.63026.1
#tool nuget:?package=Workable.AspNetCore&version=1.1.63026.1
Workable
Workable is a .NET work orchestration library for applications that need more than "run this in the background." It turns background jobs, operational tasks, recurring work, and user-triggered actions into first-class work the host can queue, observe, control, and configure.
Most applications eventually grow work that does not fit cleanly inside the request, controller action, message handler, or command that started it. Sending email, refreshing caches, synchronizing data, running maintenance tasks, retrying transient failures, and coordinating long-running operations all need identity, state, cancellation, status, events, and a way to be found later. Workable gives that work a consistent runtime model instead of leaving each feature to invent its own.
Workable is useful when you want feature code to define work near the feature that needs it, while the host application keeps control of execution. Feature assemblies can declare their own work with Workable.Sdk. Libraries that need to use a hosted system can depend on Workable.Abstractions and accept IWorkSystem from the host. The host application owns the actual Workable systems, decides which work belongs in each system, and controls how workers start, retry, recur, respect concurrency, and stay available for inspection.
That split lets teams add work near the feature that needs it without forcing every feature library to know how the application hosts work. At runtime, the host gets a consistent surface for queueing work, awaiting completion, pausing, canceling, reconfiguring workers, and subscribing to work events.
Workable also gives applications a path to expose the same authored work through more than one channel. Direct .NET callers, HTTP endpoints, MCP clients, and realtime SignalR clients can all work against the same catalog while preserving request context, structured outcomes, worker history, and invocation rules.
Why Use Workable?
- Define work once and invoke it through .NET, HTTP, or MCP when those channels are enabled.
- Register workflow definitions that coordinate existing work through dispatch, parallel, and join steps inside the host runtime.
- Keep feature libraries independent from the host runtime while still letting them contribute work.
- Queue fire-and-forget work without losing the ability to query, observe, cancel, pause, retry, or purge it.
- Give operators a real admin surface for work: live system and worker visibility, executable definitions, diagnostics, and control actions instead of one-off job screens and custom tooling.
- Attach runtime behavior such as recurrence, transient retry, idempotency, concurrency, retention, logging, profiling, initialization, and start policy.
- Use structured inputs, outputs, messages, worker snapshots, event payloads, and status summaries instead of ad hoc task tracking.
- Preserve who or what started work through request context and origin metadata for HTTP, MCP, SignalR, and direct .NET calls.
Packages
Core Packages
Workable.Sdk: contracts and registration helpers for assemblies that author work.Workable.Abstractions: contracts for libraries that consume an already-hosted work system.Workable: in-process host and runtime for Workable systems.
Optional Packages
Workable.SqlServer: SQL Server persistence integration for durable queueing, persistence-backed idempotency, and persistence-backed concurrency.Workable.AspNetCore: ASP.NET Core request-context and authorization integration for custom endpoints and hosts.Workable.Entra: Microsoft Entra ID bearer-token validation and Workable authorization claim mapping for ASP.NET Core target apps.Workable.Views: shared component-view contracts and projections used by HTTP and SignalR adapters; most applications receive it transitively throughWorkable.HttpApiorWorkable.SignalRinstead of referencing it directly.Workable.HttpApi: standard HTTP endpoints for queueing, querying, and controlling work.Workable.Mcp: MCP server adapter for authored work, query tools, and worker action tools.Workable.SignalR: realtime worker events and component-view updates for ASP.NET Core clients.
Apps And Tools
apps/samples/Workable.SampleHost: runnable ASP.NET Core sample app with HTTP API, MCP, SignalR, fake-auth profiles, and SQL Server LocalDB durability scenarios.apps/tools/Workable.PerformanceHarness: opt-in scenario runner and BenchmarkDotNet harness for runtime, query, view, realtime, and SQL durability performance work.apps/tools/Workable.SqlServer.Cli: SQL Server schema generation and deployment CLI for Workable persistence.apps/web/workable-admin-ui: Next.js admin UI for inspecting and operating Workable systems through the HTTP API and SignalR realtime updates.
Documentation
Start with the docs landing page: Workable Docs.
Recommended entry points:
- Getting Started if you are evaluating or integrating Workable.
- Registration if you are authoring work in feature assemblies.
- Workflows if you want to author multi-step orchestrations from existing work definitions.
- Implementation if you want to implement work classes and understand what executor code can do at runtime.
- Queueing if you already have work definitions and want to invoke them.
- Configuration if you are tuning start behavior, retry, recurrence, concurrency, durability, logging, retention, or invocation rules.
- HTTP API, MCP, and Realtime if you are exposing Workable over transports.
- Abstractions Surface if you are consuming a hosted system from another library.
- Workable SQL Server Integration if you need durable queueing or persistence-backed coordination.
- Sample Host if you want a runnable reference app.
- Admin UI if you want the browser-based operator surface.
- Performance Harness if you are measuring runtime or adapter performance.
| 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. |
-
net10.0
- Workable.Abstractions (>= 1.1.63026.1)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Workable.AspNetCore:
| Package | Downloads |
|---|---|
|
Workable.Entra
Microsoft Entra ID integration for interpreting host-authenticated actors and authorization claims on Workable ASP.NET Core adapter surfaces. |
|
|
Workable.SignalR
Expose Workable worker events and component-view updates to ASP.NET Core clients through SignalR. |
|
|
Workable.HttpApi
Expose standard ASP.NET Core HTTP endpoints for queueing Workable definitions, querying workers, and sending worker actions. |
|
|
Workable.Mcp
Expose Workable definitions, query tools, and worker action tools through an ASP.NET Core MCP server adapter. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.83126.1 | 66 | 9/1/2026 |
| 1.1.82326.1 | 304 | 8/24/2026 |
| 1.1.81126.1 | 202 | 8/11/2026 |
| 1.1.80926.1 | 133 | 8/9/2026 |
| 1.1.80726.1 | 154 | 8/8/2026 |
| 1.1.80526.1 | 160 | 8/5/2026 |
| 1.1.71926.1 | 179 | 7/21/2026 |
| 1.1.70926.1 | 195 | 7/10/2026 |
| 1.1.70626.2 | 249 | 7/6/2026 |
| 1.1.70626.1 | 160 | 7/6/2026 |
| 1.1.63026.1 | 188 | 6/30/2026 |
| 1.1.61226.1 | 199 | 6/12/2026 |
| 1.1.159.1 | 229 | 6/8/2026 |
| 1.1.158.1 | 171 | 6/7/2026 |
| 1.1.157 | 173 | 6/7/2026 |
| 1.1.153.1 | 180 | 6/2/2026 |
| 1.1.146.1 | 380 | 5/26/2026 |
| 1.1.142.3 | 203 | 5/23/2026 |
| 1.1.0 | 185 | 5/22/2026 |
| 1.0.0 | 173 | 5/21/2026 |
# 1.1.63026.1
Date: 2026-06-30
## Breaking Changes
- `IWorkPersistenceStore` and related durable persistence contracts now include workflow persistence support. Custom persistence-store implementations must add the new workflow snapshot, transition, recovery, and transaction members before upgrading. The built-in SQL Server store includes these implementations.
- SQL Server durable storage now includes workflow persistence schema changes. Hosts with `AutoDeploySchema` enabled are upgraded automatically; hosts that manage schema manually should apply the updated schema before enabling durable workflows.
- `WorkEventSubscriptionOptions` now includes an overflow behavior setting in addition to capacity. Source callers using named or single positional arguments continue to compile, but precompiled consumers should be rebuilt against this package.
## Added
- Added first-class workflow orchestration through `WorkflowDefinition` and `IWorkflowBuilder`, including `DispatchWork`, typed `DispatchEach`, `RunParallel`, and `Join` steps.
- Added workflow identifiers, workflow definition versions, run identifiers, run status, step status, workflow actions, available actions, run handles, and workflow run snapshots.
- Added in-memory workflow execution for non-durable workflow runs.
- Added durable workflow execution and recovery. Durable workflows persist run snapshots, child dispatch state, retained child completion receipts, pause/cancel intents, and resume incomplete runs for named systems on startup.
- Added SQL Server workflow persistence support, including workflow transactions that persist workflow transitions and child durable queue dispatch boundaries together.
- Added workflow HTTP API routes for starting runs, reading workflow run detail, and issuing workflow actions.
- Added MCP workflow tools for discovering workflows, starting workflow runs, reading run state, and controlling runs.
- Added SignalR workflow realtime views and workflow run operator views.
- Added an admin UI workflow run screen with structure navigation, sampled child workers, action controls, paging, and auto-follow behavior for active runs.
- Added coalesced work change streams through `IWorkChangeStream`, `WorkChange`, and `WorkChangeKey` so realtime surfaces can refresh affected state without replaying every event.
- Added durable queue diagnostics for claim attempts, claim throughput, claim acceptance timing, pending cleanup, accepted waiters, and recent claim samples.
- Added configurable event subscription overflow behavior and expanded event subscription diagnostics for accepted, delivered, queued, peak queued, and dropped events.
- Added performance harness coverage for durable workflow recovery, durable child reconnects, HTTP/MCP query paths, authorization paths, SignalR fanout, workflow dispatch, workflow parallel joins, and durable SQL Server scenarios.
- Added workflow documentation and updated API, realtime, authorization, observability, queue durability, registration, and project-structure docs for the new workflow and change-stream surfaces.
## Changed
- Realtime named views and SignalR worker overview updates now use coalesced change-stream keys to reduce unnecessary refreshes and fanout work.
- SignalR named views now filter refreshes by changed keys and track workflow view versions separately from worker read-model versions.
- Durable SQL Server queue processing now supports batched enqueue, batched claims, detailed claim sampling, and improved throughput diagnostics.
- Durable workflow starts are persisted before the start request is acknowledged, final workflow lifetime state is cleaned up consistently, child-retention retry behavior is built in, and blocked runs can auto-resume after child work is restarted and completed.
- Workflow joins now retain child completion receipts so operator views and recovery do not depend on completed child workers remaining queryable forever.
- Workflow runs can now be paused, canceled, restarted, and auto-resumed when blocked child workers later complete successfully.
- The sample host now includes workflow registration and demo workflow fanout data.
- The admin UI now includes shared execution-status controls, workflow run navigation, workflow progress summaries, and panel state improvements for workflow and overview screens.
- NuGet publishing now reads package release notes from a versioned file under `releases/`.
## Fixed
- Fixed sample host schema drift for the generated SQL Server schema.
- Improved in-memory cleanup and SignalR realtime exception filtering so cancellation and critical runtime exceptions are not swallowed as ordinary recoverable failures.
- Fixed SignalR broadcast handling so independent `OperationCanceledException` failures propagate instead of being logged as per-subscription broadcast failures.
- Improved durable and realtime performance test coverage, including regression coverage for broadcast lanes, worker overview updates, workflow runtime internals, workflow persistence, workflow recovery, and SQL Server persistence.
- Clarified the platform-specific UI test command in repository agent notes.
## Security
- Updated admin UI transitive dependencies to patched versions for `@babel/core`, `ws`, `undici`, `hono`, and `js-yaml`, clearing the known Dependabot and npm audit advisories present before this release.