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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nuumflux.Fabric.Providers" Version="1.0.0.140" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nuumflux.Fabric.Providers" Version="1.0.0.140" />
                    
Directory.Packages.props
<PackageReference Include="Nuumflux.Fabric.Providers" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nuumflux.Fabric.Providers --version 1.0.0.140
                    
#r "nuget: Nuumflux.Fabric.Providers, 1.0.0.140"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nuumflux.Fabric.Providers@1.0.0.140
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nuumflux.Fabric.Providers&version=1.0.0.140
                    
Install as a Cake Addin
#tool nuget:?package=Nuumflux.Fabric.Providers&version=1.0.0.140
                    
Install as a Cake Tool

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.

  • MediatRProviderAcceptanceTests verifies the standalone MediatRProvider against the real MediatR dispatcher.
  • FabricMessagingRuntimeAcceptanceTests verifies runtime registration, transport/strategy conflicts, the fixed built-in behaviour pipeline and exception semantics.
  • FabricMessagingEngineAcceptanceTests verifies engine dispatch for direct commands, direct events, multi-handler events, IHandleMessages<TMessage>, IHandleMessages<TMessage, TSourceMessage>, AutoMapper fallback, explicit converters, metadata, cancellation, errors and deduplication.
  • FabricMessagingEngineMediatRAcceptanceTests verifies that handlers invoked by FabricMessagingEngine can continue through the real MediatRProvider for 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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