Nuumflux.Fabric.Providers
1.0.0.140
dotnet add package Nuumflux.Fabric.Providers --version 1.0.0.140
NuGet\Install-Package Nuumflux.Fabric.Providers -Version 1.0.0.140
<PackageReference Include="Nuumflux.Fabric.Providers" Version="1.0.0.140" />
<PackageVersion Include="Nuumflux.Fabric.Providers" Version="1.0.0.140" />
<PackageReference Include="Nuumflux.Fabric.Providers" />
paket add Nuumflux.Fabric.Providers --version 1.0.0.140
#r "nuget: Nuumflux.Fabric.Providers, 1.0.0.140"
#:package Nuumflux.Fabric.Providers@1.0.0.140
#addin nuget:?package=Nuumflux.Fabric.Providers&version=1.0.0.140
#tool nuget:?package=Nuumflux.Fabric.Providers&version=1.0.0.140
Nuumflux Fabric
Nuumflux Fabric is a set of reusable .NET 10 libraries for building endpoints, messaging services, persistence integrations, web functionality, file and imaging operations, serialization, scripting, and mathematical processing.
Packages
The solution contains the following NuGet packages:
Nuumflux.Fabric.Commons— shared infrastructure and utility components.Nuumflux.Fabric.Endpoints— endpoint hosting and bootstrap infrastructure.Nuumflux.Fabric.Endpoints.Web.Apis— ASP.NET Core Web API endpoint infrastructure.Nuumflux.Fabric.Providers— common provider abstractions and implementations.Nuumflux.Fabric.Providers.Files— file and PDF providers.Nuumflux.Fabric.Providers.Imaging— imaging and barcode providers.Nuumflux.Fabric.Providers.Maths— equations, resampling, and statistical processing.Nuumflux.Fabric.Providers.Messaging— core messaging contracts/runtime plus the Redis transport.Nuumflux.Fabric.Providers.Messaging.Aws— AWS messaging transport with SQS and SNS.Nuumflux.Fabric.Providers.Messaging.Azure— Azure messaging transport with Service Bus queues, topics, and subscriptions.Nuumflux.Fabric.Providers.Messaging.Oci— OCI messaging transport with Queue and Notifications.Nuumflux.Fabric.Providers.Persistence— caching, relational, time-series, and storage providers.Nuumflux.Fabric.Providers.Scripting— scripting process providers.Nuumflux.Fabric.Providers.Serialization— JSON and MessagePack serialization providers.Nuumflux.Fabric.Providers.Web— web clients, HTML rendering, and HTML-to-PDF conversion.
Target framework
The packages target .NET 10 (net10.0).
License
Licensed under the MIT License. See LICENSE for details.
Messaging transport/runtime separation
The AWS, Azure, Redis Streams and other transport providers remain independently usable through the existing IFabricMessageSender, IFabricMessagePublisher and IFabricMessageReceiver abstractions. They do not depend on the higher-level Runtime namespace.
Nuumflux.Fabric.Providers.Messaging.IFabricMessage is the shared transport-facing message metadata contract and contains MessageId, TrackingId and Headers. The higher-level runtime consumes that contract; there is no second Runtime IFabricMessage.
The higher-level orchestration layer remains optional under Nuumflux.Fabric.Providers.Messaging.Runtime. The future transport-to-runtime adapter/message-type resolution gap is intentionally not implemented as part of this change.
Messaging runtime configuration
Runtime transports and processing strategies are registered through FabricMessagingBuilder. Cloud-specific transport wrappers and their underlying providers are kept together in the corresponding AWS, Azure, or OCI provider package; the core runtime discovers transport providers from their assemblies. Applications using Aws, Azure, or Oci must reference the corresponding provider package so its transport assembly is present for discovery.
services.AddFabricMessaging(
messaging => messaging.UseTransport(Settings.MessagingTransport),
typeof(Bootstrap).Assembly);
MessagingTransport is a JSON string containing a transport envelope with a string Type and an opaque JSON Settings string. Multiple transports may be registered; FabricMessagingTransportFactory resolves sender, publisher, or receiver capabilities dynamically through the registered transport resolutions.
{
"Type": "Redis",
"Settings": "{\"RedisConnectionString\":\"redis:6379\",\"StreamRouting\":[{\"MessageType\":\"CreateDocument\",\"StreamName\":\"document-generation-commands\"}]}"
}
The AWS runtime transport uses SQS for send/receive and SNS for publish. Azure uses Service Bus queue/topic/subscription providers according to its runtime settings, Redis uses Redis Streams, and OCI uses Queue for send/receive plus Notifications for publish.
Runtime-owned transport and deduplication dependencies are not silently replaced. Configuration fails immediately when the same provider/settings or deduplication strategy is configured more than once.
Processing behaviours are Runtime-owned and execute in a fixed sequence: lifecycle start, deduplication start, handler, deduplication completion, lifecycle completion. There is no public ordering mechanism for built-in behaviours.
Messages opt in to deduplication with MessageDeduplicationAttribute. Selecting RedisMessageDeduplicationStrategy registers the generic Redis cache infrastructure internally, so endpoints do not need a separate AddRedisCacheProvider(...) call. The Redis persistence provider remains generic and contains no messaging-specific types.
Messaging acceptance tests
Providers.Messaging.AcceptanceTests exercises the messaging implementation without mocking MediatR.
MediatRProviderAcceptanceTestsverifies the standaloneMediatRProvideragainst the real MediatR dispatcher.FabricMessagingRuntimeAcceptanceTestsverifies runtime registration, transport/strategy conflicts, the fixed built-in behaviour pipeline and exception semantics.FabricMessagingEngineAcceptanceTestsverifies engine dispatch for direct commands, direct events, multi-handler events,IHandleMessages<TMessage>,IHandleMessages<TMessage, TSourceMessage>, AutoMapper fallback, explicit converters, metadata, cancellation, errors and deduplication.FabricMessagingEngineMediatRAcceptanceTestsverifies that handlers invoked byFabricMessagingEnginecan continue through the realMediatRProviderfor command send and event publish, including mapped messages, cancellation and exception propagation.
The transport-to-runtime receive adapter and dynamic MessageType resolution remain intentionally outside this acceptance-test layer until that runtime adapter is implemented.
| 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
- JsonSchema.Net (>= 9.4.0)
- Nuumflux.Fabric.Commons (>= 1.0.0.140)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Nuumflux.Fabric.Providers:
| Package | Downloads |
|---|---|
|
Nuumflux.Fabric.Endpoints
Package Description |
|
|
Nuumflux.Fabric.Providers.Messaging
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0.140 | 0 | 9/15/2026 |
| 1.0.0.139 | 0 | 9/15/2026 |
| 1.0.0.138 | 10 | 9/15/2026 |
| 1.0.0.137 | 52 | 9/14/2026 |
| 1.0.0.136 | 70 | 9/14/2026 |
| 1.0.0.135 | 97 | 9/11/2026 |
| 1.0.0.134 | 87 | 9/11/2026 |
| 1.0.0.133 | 86 | 9/11/2026 |
| 1.0.0.132 | 79 | 9/11/2026 |
| 1.0.0.123 | 117 | 9/7/2026 |
| 1.0.0.111 | 108 | 9/4/2026 |
| 1.0.0.110 | 105 | 9/4/2026 |
| 1.0.0.109 | 115 | 9/4/2026 |
| 1.0.0.108 | 97 | 9/4/2026 |
| 1.0.0.107 | 110 | 9/3/2026 |