ToolWheel.Extensions.JobManager.Abstractions.API
1.0.0-preview6
dotnet add package ToolWheel.Extensions.JobManager.Abstractions.API --version 1.0.0-preview6
NuGet\Install-Package ToolWheel.Extensions.JobManager.Abstractions.API -Version 1.0.0-preview6
<PackageReference Include="ToolWheel.Extensions.JobManager.Abstractions.API" Version="1.0.0-preview6" />
<PackageVersion Include="ToolWheel.Extensions.JobManager.Abstractions.API" Version="1.0.0-preview6" />
<PackageReference Include="ToolWheel.Extensions.JobManager.Abstractions.API" />
paket add ToolWheel.Extensions.JobManager.Abstractions.API --version 1.0.0-preview6
#r "nuget: ToolWheel.Extensions.JobManager.Abstractions.API, 1.0.0-preview6"
#:package ToolWheel.Extensions.JobManager.Abstractions.API@1.0.0-preview6
#addin nuget:?package=ToolWheel.Extensions.JobManager.Abstractions.API&version=1.0.0-preview6&prerelease
#tool nuget:?package=ToolWheel.Extensions.JobManager.Abstractions.API&version=1.0.0-preview6&prerelease
ToolWheel.Extensions.JobManager.Abstractions.API
Kestrel host extension and the JobManagerClient base class for the ToolWheel Job Manager REST API. This package is the infrastructure layer for the API � it hosts the web server and provides the typed HTTP client foundation. The actual controllers and client extension methods are in ToolWheel.Extensions.JobManager.API.
Package Info
| Property | Value |
|---|---|
| Target Framework | net8.0 |
| NuGet Package ID | ToolWheel.Extensions.JobManager.Abstractions.API |
| Project Reference | ToolWheel.Extensions.JobManager.Abstractions |
| Package Dependencies | Microsoft.AspNetCore, Refit |
Server � Hosting the REST API
UseJobManagerRestApi
Extension method on IHostBuilder that adds a Kestrel web server and registers the JobManagerApiStartup startup class:
Host.CreateDefaultBuilder(args)
.UseJobManagerRestApi(listenPort: 8080)
.Build()
.Run();
listenPort defaults to 8080. The server listens on all network interfaces (0.0.0.0).
JobManagerApiStartup
Configures the ASP.NET Core pipeline for the REST API:
- Registers MVC controllers.
- Adds a global exception filter that translates
StatusCodeExceptionsubclasses (NotFoundException,BadRequestException,UnprocessableEntityException) into the corresponding HTTP status codes.
Client � JobManagerClient
Base class for consuming the REST API. Use it to create Refit-generated interface proxies:
var client = new JobManagerClient("http://localhost:8080");
// Create a typed Refit proxy for any IServiceConnector-derived interface
var jobConnector = client.CreateClient<IJobServiceConnector>();
In practice the typed extension methods from ToolWheel.Extensions.JobManager.API (package JobServiceClientExtensions, JobTaskServiceClientExtensions) wrap CreateClient<T> and expose a clean, higher-level API � you rarely need to call CreateClient<T> directly.
IServiceConnector
Marker interface that all Refit connector interfaces must implement. It has no members; it serves as a type constraint for CreateClient<T>.
Exception Types
| Type | HTTP Status | Description |
|---|---|---|
NotFoundException |
404 Not Found | Resource identified by the request could not be found. |
BadRequestException |
400 Bad Request | The request is malformed or contains invalid data. |
UnprocessableEntityException |
422 Unprocessable Entity | The request is well-formed but semantically invalid. |
Throw any of these from a controller action and the global filter will convert it to the correct HTTP response automatically:
var job = jobService.FindById(jobId);
if (job is null)
throw new NotFoundException($"Job '{jobId}' not found.");
| Product | Versions 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 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 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
- Microsoft.Extensions.DependencyModel (>= 10.0.5)
- Refit (>= 10.1.6)
- ToolWheel.Extensions.JobManager.Abstractions (>= 1.0.0-preview6)
-
net8.0
- Microsoft.Extensions.DependencyModel (>= 10.0.5)
- Refit (>= 10.1.6)
- ToolWheel.Extensions.JobManager.Abstractions (>= 1.0.0-preview6)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ToolWheel.Extensions.JobManager.Abstractions.API:
| Package | Downloads |
|---|---|
|
ToolWheel.Extensions.JobManager.API
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-preview6 | 49 | 3/26/2026 |