Amanhecer.Abstractions
2.0.0
dotnet add package Amanhecer.Abstractions --version 2.0.0
NuGet\Install-Package Amanhecer.Abstractions -Version 2.0.0
<PackageReference Include="Amanhecer.Abstractions" Version="2.0.0" />
<PackageVersion Include="Amanhecer.Abstractions" Version="2.0.0" />
<PackageReference Include="Amanhecer.Abstractions" />
paket add Amanhecer.Abstractions --version 2.0.0
#r "nuget: Amanhecer.Abstractions, 2.0.0"
#:package Amanhecer.Abstractions@2.0.0
#addin nuget:?package=Amanhecer.Abstractions&version=2.0.0
#tool nuget:?package=Amanhecer.Abstractions&version=2.0.0
Amanhecer.Abstractions
Abstractions for Amanhecer, a lightweight request dispatcher (mediator) for .NET: interfaces, base classes, attributes and dispatch contexts.
This package contains the contracts your application code depends on:
- Handlers — derive from
RequestHandler<T>orQueryHandler<TQuery, TResponse>, or implementIRequestHandler/IQueryHandlerdirectly. - Dispatch —
IDispatcherand theAmanhecerContextimplementation carrying routing-key overrides, metadata, anActivityand a per-dispatch executing strategy. - Pipelines and middleware —
IPipeline,IMiddleware, and the factories used to build them. - Attributes —
[RoutingKey]to override a request's routing key, andMiddlewareAttributeto declare middleware on handler classes or methods. - Exceptions —
AmanhecerException,PipelineNotFoundException,MultiPipelineFoundException.
You normally reference the Amanhecer package (which brings this one in transitively) and only depend on Amanhecer.Abstractions directly when building your own extensions on top of Amanhecer.
using Amanhecer.Abstractions;
public record Greeting(string Name);
public class GreetingHandler : RequestHandler<Greeting>
{
public override ValueTask HandleAsync(Greeting request, AmanhecerContext context,
CancellationToken cancellationToken = default)
{
Console.WriteLine($"Hello {request.Name}!");
return ValueTask.CompletedTask;
}
}
Documentation
Full documentation lives in the repository docs.
Licence
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- System.Collections.Immutable (>= 10.0.12)
- System.Diagnostics.DiagnosticSource (>= 10.0.12)
- System.Memory (>= 4.6.3)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
.NETStandard 2.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- System.Collections.Immutable (>= 10.0.12)
- System.Diagnostics.DiagnosticSource (>= 10.0.12)
- System.Memory (>= 4.6.3)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
-
net8.0
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.3)
-
net9.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.20)
NuGet packages (9)
Showing the top 5 NuGet packages that depend on Amanhecer.Abstractions:
| Package | Downloads |
|---|---|
|
Amanhecer
A lightweight request dispatcher (mediator) for .NET — send commands, publish events and execute queries through middleware pipelines. |
|
|
Amanhecer.Extensions.Resilience
Microsoft.Extensions.Resilience integration for Amanhecer: execute request pipelines inside named resilience pipelines with request-metadata telemetry enrichment. |
|
|
Amanhecer.Polly
Polly integration for Amanhecer: execute request pipelines inside named Polly resilience pipelines (retry, circuit breaker, timeout, fallback) via middleware. |
|
|
Amanhecer.RabbitMq
RabbitMQ transport for Amanhecer: publish messages to exchanges and consume them from queues through the messaging gateway, with CloudEvents mapping and pluggable provisioning. |
|
|
Amanhecer.Extensions.Hosting
Generic-host integration for Amanhecer: runs the messaging gateway consumers as a hosted service alongside the host. |
GitHub repositories
This package is not used by any popular GitHub repositories.