Comunicazione real-time per applicazioni moderne

Cos'è SignalR e come aggiunge comunicazione in tempo reale alle tue app

Tutto quello che devi sapere su SignalR: la libreria Microsoft per notifiche push, chat e dashboard live nelle applicazioni .NET.

SignalR è la libreria di ASP.NET Core che rende semplice aggiungere comunicazione real-time alle tue applicazioni web.

Chat, notifiche push, dashboard live, collaborazione in tempo reale: tutto questo diventa possibile con poche righe di C#, senza dover gestire manualmente WebSocket, polling o Server-Sent Events.

SignalR sceglie automaticamente il miglior protocollo di trasporto disponibile: WebSocket quando possibile, con fallback a Long Polling o SSE. Tu scrivi il codice una volta, SignalR si adatta al client.

Come funziona SignalR: Hub, connessioni e gruppi

SignalR si basa sul concetto di Hub: un oggetto C# lato server che espone metodi invocabili dal client e viceversa.

Architettura di SignalR

ConcettoDescrizione
HubClasse C# che definisce i metodi che client e server possono invocare reciprocamente.
ConnessioneOgni client ha un ConnectionId unico. SignalR gestisce automaticamente connessione/riconnessione.
GruppiPermette di inviare messaggi a sottoinsiemi di client (es. stanze di chat, canali tematici).
TrasportiWebSocket → Server-Sent Events → Long Polling. Negoziazione automatica.
ProtocolliJSON (default) o MessagePack (binario, più veloce) per la serializzazione dei messaggi.
// Esempio di Hub SignalR
public class ChatHub : Hub
{
    public async Task SendMessage(string user, string message)
        => await Clients.All.SendAsync("ReceiveMessage", user, message);
}

Lato client, JavaScript, .NET o Java possono connettersi all'Hub e ricevere aggiornamenti in tempo reale.

Cosa puoi creare con SignalR

ScenarioDescrizione
Chat e messaggisticaChat room, messaggi diretti e sistemi di supporto live con feedback istantaneo.
Dashboard real-timeMonitoraggio di KPI, metriche di sistema e dati finanziari aggiornati al secondo.
Notifiche pushAvvisi istantanei per ordini, alert di sistema, aggiornamenti di stato.
Collaborazione liveEditing collaborativo, whiteboard condivise, aggiornamenti in tempo reale.
Gaming multiplayerSincronizzazione di stato tra giocatori con latenza minima.
IoT monitoringRicezione e visualizzazione di dati da sensori e dispositivi in tempo reale.

Vantaggi di SignalR rispetto alle alternative

  1. Zero configurazione di trasporto — SignalR negozia automaticamente il protocollo migliore. Non devi gestire WebSocket manualmente.

  2. Scalabilità con backplane — Redis, Azure SignalR Service o SQL Server come backplane per distribuire messaggi su più server.

  3. Integrazione nativa con ASP.NET Core — Dependency injection, autenticazione, autorizzazione: tutto funziona out-of-the-box.

  4. Client multipli — SDK ufficiali per JavaScript, .NET, Java. Supporto per qualsiasi client WebSocket compatibile.

  5. Azure SignalR Service — Servizio managed che gestisce milioni di connessioni senza infrastruttura da mantenere.

SignalR vs alternative real-time

CaratteristicaSignalRSocket.IOPusherFirebase Realtime
Linguaggio serverC# / .NETNode.jsHostedHosted
TrasportiWebSocket + fallbackWebSocket + pollingWebSocketWebSocket
Integrazione .NETNativaRichiede adapterSDK genericoSDK generico
ScalabilitàRedis / Azure ServiceRedisManagedManaged
CostoOpen-sourceOpen-sourceA pagamentoFree tier limitato

Inizia con SignalR: risorse e strumenti

Vuoi creare applicazioni real-time?

Padroneggia lo sviluppo web moderno

Con il nostro corso ASP.NET imparerai SignalR, Web API, Blazor e tutte le tecnologie per creare applicazioni web moderne e performanti.

Domande frequenti

SignalR è una libreria di ASP.NET Core per aggiungere comunicazione real-time alle applicazioni web. Permette al server di inviare aggiornamenti ai client in tempo reale per chat, notifiche e dashboard.

Sì, SignalR è incluso in ASP.NET Core ed è completamente open-source e gratuito. Azure SignalR Service offre un piano gratuito con limiti e piani a pagamento per alta scalabilità.

SignalR usa WebSocket come protocollo preferito, con fallback automatico a Server-Sent Events e Long Polling per garantire compatibilità con tutti i client.

Sì, SignalR si integra perfettamente con Blazor Server (lo usa internamente) e può essere usato anche in Blazor WebAssembly per comunicazione real-time bidirezionale.

Il modo migliore è seguire un percorso strutturato con progetti pratici. Il nostro corso ASP.NET include SignalR, Web API e tutte le tecnologie per applicazioni web moderne.

Vuoi creare applicazioni real-time? Richiedi informazioni

Vuoi approfondire questa tecnologia con un percorso formativo personalizzato? Compila il modulo e ricevi tutte le informazioni.

Analisi gratuita Parli con Matteo Zero impegno