Novolis.Messaging.Channels
2026.1.1.48
dotnet add package Novolis.Messaging.Channels --version 2026.1.1.48
NuGet\Install-Package Novolis.Messaging.Channels -Version 2026.1.1.48
<PackageReference Include="Novolis.Messaging.Channels" Version="2026.1.1.48" />
<PackageVersion Include="Novolis.Messaging.Channels" Version="2026.1.1.48" />
<PackageReference Include="Novolis.Messaging.Channels" />
paket add Novolis.Messaging.Channels --version 2026.1.1.48
#r "nuget: Novolis.Messaging.Channels, 2026.1.1.48"
#:package Novolis.Messaging.Channels@2026.1.1.48
#addin nuget:?package=Novolis.Messaging.Channels&version=2026.1.1.48
#tool nuget:?package=Novolis.Messaging.Channels&version=2026.1.1.48
Novolis.Messaging.Channels
Registers System.Threading.Channels.Channel<T> (plus reader/writer) in dependency injection for producer/consumer patterns.
Install
dotnet add package Novolis.Messaging.Channels
Prerequisites: .NET 10 SDK (net10.0).
Quick start
using Novolis.Messaging.Channels;
services.AddChannel<MyMessage>();
// Producer: inject ChannelWriter<MyMessage>
// Consumer: inject ChannelReader<MyMessage> (e.g. in a BackgroundService)
Bounded channel with custom settings:
services.AddChannel<DevicePacket>(
ChannelType.Bounded,
new ChannelSettings
{
BoundedCapacity = 256,
BoundedFullMode = BoundedChannelFullMode.Wait,
SingleReader = true,
SingleWriter = false,
});
Wire ChannelMessagePublisher<T> to IMessagePublisher<T> manually if needed:
services.AddSingleton<IMessagePublisher<MyMessage>, ChannelMessagePublisher<MyMessage>>();
Constraint: T must be a reference type (where T : class).
API
| Type | Role |
|---|---|
ServiceCollectionExtensions.AddChannel<T> |
Unbounded, bounded, or custom settings overloads |
ChannelType |
Unbounded, Bounded |
ChannelSettings |
SingleReader, SingleWriter, BoundedCapacity, BoundedFullMode |
ChannelMessagePublisher<T> |
IMessagePublisher<T> adapter over ChannelWriter<Message<T>> |
Each registration adds singleton Channel<T>, ChannelReader<T>, and ChannelWriter<T>.
Related
| Package | Role |
|---|---|
Novolis.Messaging |
PulseFlow pipeline on top of Channel<IPulse> |
Novolis.Messaging.Abstractions |
Message<T>, IMessagePublisher<T> |
Novolis.Transports.WireFish |
Publishes captured packets via channels |
More documentation
Support
Pre-release; channel lifetime follows ASP.NET Core hosted service defaults.
| 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
- Microsoft.Extensions.DependencyInjection (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Novolis.Messaging.Abstractions (>= 2026.1.1.48)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Novolis.Messaging.Channels:
| Package | Downloads |
|---|---|
|
Novolis.Transports.WireFish
Live network capture via SharpPcap, routed through Novolis.Messaging.Channels to IPacketHandler implementations. |
|
|
Novolis.Messaging
In-process pulse messaging (PulseFlow) over channels with DI. |
|
|
Novolis.WorkflowEngine.Channels
System.Threading.Channels trigger adapter for Novolis workflows. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.1.48 | 56 | 10/5/2026 |
| 2026.1.1.47 | 64 | 10/4/2026 |
| 2026.1.1.46 | 72 | 10/1/2026 |
| 2026.1.1.45 | 63 | 9/30/2026 |