FonsecaFramework.SignalR
2026.5.12.1
dotnet add package FonsecaFramework.SignalR --version 2026.5.12.1
NuGet\Install-Package FonsecaFramework.SignalR -Version 2026.5.12.1
<PackageReference Include="FonsecaFramework.SignalR" Version="2026.5.12.1" />
<PackageVersion Include="FonsecaFramework.SignalR" Version="2026.5.12.1" />
<PackageReference Include="FonsecaFramework.SignalR" />
paket add FonsecaFramework.SignalR --version 2026.5.12.1
#r "nuget: FonsecaFramework.SignalR, 2026.5.12.1"
#:package FonsecaFramework.SignalR@2026.5.12.1
#addin nuget:?package=FonsecaFramework.SignalR&version=2026.5.12.1
#tool nuget:?package=FonsecaFramework.SignalR&version=2026.5.12.1
FonsecaFramework.SignalR
Lightweight SignalR connection helpers with automatic reconnection.
Overview
FonsecaFramework.SignalR is a .NET Standard 2.0 library that provides a thin wrapper around Microsoft.AspNetCore.SignalR.Client. It offers both an OOP-style SignalRConenction class and HubConnection extension methods that add resilient auto-reconnect and retry logic out of the box.
Installation
dotnet add package FonsecaFramework.SignalR
Features
| Area | Key Classes / Methods |
|---|---|
| Connection Wrapper | SignalRConenction — wraps HubConnection with auto-reconnect and a ConnectionRestored event |
| Extension Methods | HubConnection.ConnectWithAutoReconnect() — starts a connection and automatically retries on disconnect |
HubConnection.ConnectWithRetryAsync() — retries connection until success or cancellation |
Examples
Using the SignalRConenction Class
using FonsecaFramework.SignalR;
using Microsoft.AspNetCore.SignalR.Client;
HubConnection hub = new HubConnectionBuilder()
.WithUrl("https://myserver.com/myhub")
.Build();
var connection = new SignalRConenction(hub);
// Subscribe to know when the connection is restored after a drop
connection.ConnectionRestored += (sender, args) =>
{
Console.WriteLine("Connection restored!");
};
// Connect with automatic reconnection (retries every 3 seconds on failure)
bool connected = await connection.ConnectWithAutoReconnect(
OnErrorDelayTimeInMiliseconds: 3000);
Console.WriteLine($"Connected: {connected}");
Using Extension Methods Directly on HubConnection
using FonsecaFramework.SignalR;
using Microsoft.AspNetCore.SignalR.Client;
HubConnection hub = new HubConnectionBuilder()
.WithUrl("https://myserver.com/myhub")
.Build();
// Auto-reconnect: if the connection drops, it will retry automatically
bool connected = await hub.ConnectWithAutoReconnect(
OnErrorDelayTimeInMiliseconds: 5000);
// Or use the retry helper directly for one-time connection attempts
bool retryConnected = await hub.ConnectWithRetryAsync(
DelayTimeInMiliseconds: 2000,
token: cancellationTokenSource.Token);
Requirements
- .NET Standard 2.0 compatible runtime
License
Copyright 2025 Steven Fonseca / VLR Creations
Licensed under the Apache License, Version 2.0. You may use this library free of charge, provided you include the required attribution notices. See the LICENSE file for full terms.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.AspNetCore.SignalR.Client (>= 10.0.8)
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 |
|---|---|---|
| 2026.5.12.1 | 59 | 5/13/2026 |
| 2026.5.11.1 | 88 | 5/11/2026 |
| 2026.5.7.2 | 93 | 5/7/2026 |
| 2026.5.7.1 | 84 | 5/7/2026 |
| 2026.5.6.1 | 83 | 5/6/2026 |
| 2026.5.5.1 | 84 | 5/5/2026 |
| 2026.5.2.1 | 93 | 5/2/2026 |
| 2026.4.30.1 | 90 | 4/30/2026 |
| 2026.4.29.1 | 101 | 4/29/2026 |
| 2026.4.27.1 | 96 | 4/28/2026 |
| 2026.4.22.1 | 91 | 4/22/2026 |
| 2026.4.21.1 | 86 | 4/21/2026 |
| 2026.4.20.1 | 93 | 4/20/2026 |
| 2026.4.15.1 | 99 | 4/15/2026 |
| 2026.4.13.1 | 100 | 4/13/2026 |
| 2026.4.10.1 | 104 | 4/10/2026 |
| 2026.4.8.1 | 98 | 4/8/2026 |
| 2026.4.7.1 | 95 | 4/7/2026 |
| 2026.4.3.1 | 103 | 4/3/2026 |
| 2026.4.1.1 | 121 | 4/1/2026 |