LoomKit.Requests.Abstractions
10.0.1
dotnet add package LoomKit.Requests.Abstractions --version 10.0.1
NuGet\Install-Package LoomKit.Requests.Abstractions -Version 10.0.1
<PackageReference Include="LoomKit.Requests.Abstractions" Version="10.0.1" />
<PackageVersion Include="LoomKit.Requests.Abstractions" Version="10.0.1" />
<PackageReference Include="LoomKit.Requests.Abstractions" />
paket add LoomKit.Requests.Abstractions --version 10.0.1
#r "nuget: LoomKit.Requests.Abstractions, 10.0.1"
#:package LoomKit.Requests.Abstractions@10.0.1
#addin nuget:?package=LoomKit.Requests.Abstractions&version=10.0.1
#tool nuget:?package=LoomKit.Requests.Abstractions&version=10.0.1
LoomKit.Requests.Abstractions
The interfaces and abstract base types behind LoomKit.Requests, split into their own lightweight package with no dependency on the concrete mediator implementation.
Status: early stage. The public API may still change between versions — pin a commit/tag if you depend on it.
Why a separate package
LoomKit.Requests ships the whole mediator: the default sender, its DI registration helpers, reflection-based pipeline caching, telemetry, etc. A project that only needs to define requests and handlers — typically a domain/DDD class library that shouldn't know how those requests get dispatched — doesn't need any of that.
This package holds only:
- The marker/contract interfaces:
IRequest,IRequest<TResponse>,IRequestHandler<TRequest>,IRequestHandler<TRequest, TResponse>,IRequestSender. - The abstract base types meant to be extended:
RequestMiddleware<TRequest>/RequestMiddleware<TRequest, TResponse>,RequestSender<TOptions>,RequestSenderOptions,RequestSenderOptionsBuilder<TOptions>.
Reference this package from a layer that should only depend on shapes (a domain project defining commands/queries and handler interfaces, a library authoring a custom IRequestSender/RequestMiddleware, a contracts-only shared project). Reference LoomKit.Requests — which itself depends on this package — from your application/composition-root layer, where the concrete sender, its DI wiring, and the assembly-scanning handler registration actually get used.
Installation
dotnet add package LoomKit.Requests.Abstractions
Available on nuget.org — a package version is published automatically for every vX.Y.Z tag pushed to this repo.
If you're building the full mediator (sending requests, not just defining them), install LoomKit.Requests instead — it brings this package in transitively.
Contents
| Type | Kind | Purpose |
|---|---|---|
IRequest |
interface | Marker for a fire-and-forget request (no response). |
IRequest<TResponse> |
interface | Marker for a request that returns a TResponse. |
IRequestHandler<TRequest> / IRequestHandler<TRequest, TResponse> |
interface | Implement one per request type — where the actual logic lives. |
IRequestSender |
interface | The entry point application code calls: SendAsync(...). |
RequestMiddleware<TRequest> / RequestMiddleware<TRequest, TResponse> |
abstract class | Base type for cross-cutting pipeline behavior around a handler. |
RequestSender<TOptions> |
abstract class | Base type for a custom IRequestSender implementation. |
RequestSenderOptions |
abstract class | Base type for a sender's configured options (service lifetime, middleware pipeline). |
RequestSenderOptionsBuilder<TOptions> |
abstract class | Base type for a fluent builder that produces a TOptions, with the open-generic middleware-type validation built in. |
None of these types do anything by themselves — see LoomKit.Requests for the default, ready-to-use implementation (DefaultRequestSender, AddDefaultRequestSender, assembly-scanning handler registration, tracing, ...) and for usage examples.
License
| 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
NuGet packages (2)
Showing the top 2 NuGet packages that depend on LoomKit.Requests.Abstractions:
| Package | Downloads |
|---|---|
|
LoomKit.Requests
A lightweight mediator library for .NET: send requests to DI-resolved handlers with an optional middleware pipeline. |
|
|
LoomKit.Requests.Crud
Generic CRUD base-handler classes for LoomKit.Requests: Create/GetById/List/UpdateById/DeleteById/Import/UpdateRelatedById request-handler triads with SQL-level field projection, a repository/unit-of-work contract, and auditing hooks. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.1 | 200 | 8/25/2026 |