Neon.SignalR
4.0.20-preview.0
See the version list below for details.
dotnet add package Neon.SignalR --version 4.0.20-preview.0
NuGet\Install-Package Neon.SignalR -Version 4.0.20-preview.0
<PackageReference Include="Neon.SignalR" Version="4.0.20-preview.0" />
<PackageVersion Include="Neon.SignalR" Version="4.0.20-preview.0" />
<PackageReference Include="Neon.SignalR" />
paket add Neon.SignalR --version 4.0.20-preview.0
#r "nuget: Neon.SignalR, 4.0.20-preview.0"
#:package Neon.SignalR@4.0.20-preview.0
#addin nuget:?package=Neon.SignalR&version=4.0.20-preview.0&prerelease
#tool nuget:?package=Neon.SignalR&version=4.0.20-preview.0&prerelease
Introduction
This package contains some useful abstractions for SignalR services.
SignalR Proxy
The SignalR Proxy enables sticky sessions for SignalR clients. It removes the need for a load balancer in front of your service. The proxy is a middleware that intercepts all requests to the SignalR hub and redirects them to the correct instance. This works by storing the upstream host in a cookie, allowing the backend service to be scaled up/down without causing clients to be disconnected which would happen with a hashing load balancer.
For this to work, the PeerAddress must be an SRV record.
In Kubernetes this can be achieved by using a headless service.
Configuration
builder.Services.AddSignalrProxy(options =>
{
options.PeerAddress = "my-headless-service.ns.svc.cluster.local";
options.Port = PORT;
});
app.UseSignalrProxy();
NATS backplane
The NATS bakplane enables a distributed SignalR service, using NATS as the message broker.
Configuration
builder.Services.AddSignalR()
.AddNats(options =>
{
options.Servers = new string[] { "nats.ns.svc.cluster.local" };
});
| 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
- AsyncKeyedLock (>= 7.0.0)
- DnsClient (>= 1.7.0)
- MessagePack (>= 2.5.187)
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 10.0.7)
- Microsoft.AspNetCore.SignalR.Client (>= 10.0.7)
- Microsoft.AspNetCore.SignalR.Protocols.MessagePack (>= 10.0.7)
- Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Logging (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- Microsoft.Extensions.ObjectPool (>= 10.0.7)
- Microsoft.Net.Http.Headers (>= 10.0.7)
- NATS.Net (>= 2.3.3)
- Neon.Common (>= 4.0.20-preview.0)
- Newtonsoft.Json (>= 13.0.3)
- OpenTelemetry (>= 1.9.0)
- SharpZipLib.NETStandard (>= 1.0.7)
- System.ValueTuple (>= 4.6.2)
- YamlDotNet (>= 15.1.2)
- Yarp.ReverseProxy (>= 2.3.0)
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.20 | 59 | 8/13/2026 |
| 4.0.20-preview.2 | 36 | 8/11/2026 |
| 4.0.20-preview.1 | 68 | 6/10/2026 |
| 4.0.20-preview.0 | 74 | 5/9/2026 |
| 4.0.19 | 153 | 4/29/2026 |
| 4.0.19-preview.4 | 69 | 4/26/2026 |
| 4.0.19-preview.3 | 69 | 4/17/2026 |
| 4.0.19-preview.2 | 215 | 8/14/2025 |
| 4.0.19-preview.1 | 183 | 8/13/2025 |
| 4.0.19-preview.0 | 186 | 8/13/2025 |
| 4.0.18 | 361 | 8/6/2025 |
| 4.0.17 | 314 | 4/15/2025 |
| 4.0.17-preview.0 | 253 | 4/14/2025 |
| 4.0.16 | 321 | 4/14/2025 |
| 4.0.15 | 269 | 4/10/2025 |
| 4.0.14 | 190 | 12/19/2024 |
| 4.0.13-preview.11 | 175 | 8/9/2024 |
| 4.0.13-preview.10 | 168 | 8/9/2024 |
| 4.0.13-preview.9 | 149 | 8/9/2024 |
| 4.0.13-preview.8 | 150 | 8/9/2024 |