DarkWS.Redis 4.0.0

dotnet add package DarkWS.Redis --version 4.0.0
                    
NuGet\Install-Package DarkWS.Redis -Version 4.0.0
                    
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="DarkWS.Redis" Version="4.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DarkWS.Redis" Version="4.0.0" />
                    
Directory.Packages.props
<PackageReference Include="DarkWS.Redis" />
                    
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 DarkWS.Redis --version 4.0.0
                    
#r "nuget: DarkWS.Redis, 4.0.0"
                    
#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 DarkWS.Redis@4.0.0
                    
#: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=DarkWS.Redis&version=4.0.0
                    
Install as a Cake Addin
#tool nuget:?package=DarkWS.Redis&version=4.0.0
                    
Install as a Cake Tool

DarkWS.Redis

Redis backplane for DarkWS.

builder.Services.AddSingleton<IConnectionMultiplexer>(redis);
builder.Services.AddDarkWsRedis("my-app:production");

Register DarkWS before this package. Use a unique channel per application and environment.

The host owns the connection multiplexer. This package retains its 2.13.17 minimum dependency and is also tested against StackExchange.Redis 3.2.1.

The Redis wire envelope uses immutable JSON settings, independent of application DarkWsOptions.JsonOptions. Fields are target, targetId, action, and data. Numeric targets are fixed: All=0, Connection=1, Session=2, Group=3. Payload data is already JSON and preserves the application's serialization choices. Default-format older peers remain compatible; coordinate a channel migration for older peers that emitted customized envelope names.

Only one Redis subscription can be active. A repeated Subscribe call throws InvalidOperationException; call Unsubscribe before replacing it. Cancelling the subscription token or unsubscribing cancels the token supplied to active listeners.

Static callers should use DarkWsRedisServiceCollectionExtensions. The old RedisConfiguration static wrapper is obsolete; extension-call syntax is unchanged.

Trust boundary

Anyone who can publish to this channel can send arbitrary notifications to clients on every instance, including targeted sessions/groups. Use network isolation and Redis ACLs that restrict publication/subscription to the application's channels. Unique names separate environments but are not an authorization mechanism. Logical database numbers do not isolate Pub/Sub; use channel ACLs or separate Redis instances for stronger boundaries (Redis documentation).

Backplane messages are trusted and do not use MaxMessageSizeBytes; that setting only limits incoming WebSocket messages. Bound data produced by trusted publishers.

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.0.0 89 9/15/2026
3.0.0 81 9/14/2026
2.1.0 83 9/13/2026
2.0.0 97 9/5/2026