Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Cos’è SignalR?
ASP.NET Core SignalR è una libreria open source che semplifica l'aggiunta di funzionalità Web in tempo reale alle app. La funzionalità Web in tempo reale consente al codice lato server di eseguire immediatamente il push del contenuto ai client.
Candidati validi per SignalR:
- App che richiedono aggiornamenti con frequenza elevata dal server, ad esempio giochi, social network, mappe, aste e app GPS e di voto.
- Dashboard e app di monitoraggio, ad esempio dashboard aziendali, aggiornamenti di vendite istantanee o avvisi di viaggio.
- App collaborative Esempi di app collaborative sono le app per lavagne e il software per riunioni in team.
- App che richiedono notifiche. Social network, posta elettronica, chat, giochi, avvisi di viaggio e molte altre app usano le notifiche.
SignalRfornisce un'API per la creazione di chiamate rpc (Remote Procedure Call) da server a client. Le RPC invocano funzioni sui client dal codice .NET lato server. Esistono diverse piattaforme supportate, ognuna con il rispettivo SDK client. Per questo motivo, il linguaggio di programmazione richiamato dalla chiamata RPC varia.
Ecco alcune funzionalità di SignalR per ASP.NET Core:
- Gestisce automaticamente la gestione delle connessioni.
- Invia messaggi a tutti i client connessi contemporaneamente. Ad esempio, una chat room.
- Invia messaggi a client o gruppi di client specifici.
- Ridimensiona per gestire l'aumento del traffico con opzioni quali Azure SignalR Service e Redis backplane.
- Supporta la riduzione e la compilazione AOT nativa per gli scenari supportati.
- Supporta la gestione dei tipi polimorfici nei metodi hub.
- Supporta la traccia distribuita con
ActivitySourceper il server hub SignalR e il client .NET. - SignalR Protocollo Hub
L'origine è ospitata in un repository SignalR in GitHub.
Transports
SignalR supporta le seguenti tecniche per gestire la comunicazione in tempo reale (in ordine di fallback graduale):
- WebSockets
- SSE (Server-Sent Event)
- Polling prolungato
SignalR sceglie automaticamente il metodo di trasporto migliore all'interno delle funzionalità del server e del client. WebSocket è il trasporto preferito perché in genere offre prestazioni ottimali.
Hubs
SignalR usa hub per comunicare tra client e server.
Un hub è una pipeline di alto livello usata da un client e un server per chiamare i metodi l'uno dall'altro. SignalR gestisce automaticamente l'invio attraverso i limiti del computer, in modo che i client possano chiamare metodi sul server e viceversa. È possibile passare parametri fortemente tipizzati ai metodi, che abilita l'associazione di modelli. SignalR supporta due protocolli hub predefiniti: un protocollo di testo basato su JSON (impostazione predefinita) e un protocollo binario basato su MessagePack. MessagePack in genere crea messaggi più piccoli rispetto a JSON. Per altre informazioni, vedere Use MessagePack Hub Protocol in SignalR per ASP.NET Core.
Gli hub chiamano il codice lato client inviando messaggi che contengono il nome e i parametri dei metodi lato client. Il protocollo configurato deserializza gli oggetti inviati come parametri del metodo. Il client tenta di associare il nome a un metodo nel codice lato client. Quando il client trova una corrispondenza, chiama il metodo e passa i dati dei parametri deserializzati.
Risorse aggiuntive
Cos’è SignalR?
ASP.NET Core SignalR è una libreria open source che semplifica l'aggiunta di funzionalità Web in tempo reale alle app. La funzionalità Web in tempo reale consente al codice lato server di eseguire immediatamente il push del contenuto ai client.
Candidati validi per SignalR:
- App che richiedono aggiornamenti con frequenza elevata dal server, ad esempio giochi, social network, mappe, aste e app GPS e di voto.
- Dashboard e app di monitoraggio, ad esempio dashboard aziendali, aggiornamenti di vendite istantanee o avvisi di viaggio.
- App collaborative Esempi di app collaborative sono le app per lavagne e il software per riunioni in team.
- App che richiedono notifiche. Social network, posta elettronica, chat, giochi, avvisi di viaggio e molte altre app usano le notifiche.
SignalRfornisce un'API per la creazione di chiamate rpc (Remote Procedure Call) da server a client. Le RPC invocano funzioni sui client dal codice .NET lato server. Esistono diverse piattaforme supportate, ognuna con il rispettivo SDK client. Per questo motivo, il linguaggio di programmazione richiamato dalla chiamata RPC varia.
Ecco alcune funzionalità di SignalR per ASP.NET Core:
- Gestisce automaticamente la gestione delle connessioni.
- Invia messaggi a tutti i client connessi contemporaneamente. Ad esempio, una chat room.
- Invia messaggi a client o gruppi di client specifici.
- Ridimensiona per gestire l'aumento del traffico con opzioni quali Azure SignalR Service e Redis backplane.
- Supporta la riduzione e la compilazione AOT nativa per gli scenari supportati.
- Supporta la gestione dei tipi polimorfici nei metodi hub.
- Supporta la traccia distribuita con
ActivitySourceper il server hub SignalR e il client .NET. - SignalR Protocollo Hub
L'origine è ospitata in un repository SignalR in GitHub.
Transports
SignalR supporta le seguenti tecniche per gestire la comunicazione in tempo reale (in ordine di fallback graduale):
- WebSockets
- SSE (Server-Sent Event)
- Polling prolungato
SignalR sceglie automaticamente il metodo di trasporto migliore all'interno delle funzionalità del server e del client. WebSocket è il trasporto preferito perché in genere offre prestazioni ottimali.
Hubs
SignalR usa hub per comunicare tra client e server.
Un hub è una pipeline di alto livello che consente a un client e a un server di chiamare i metodi l'uno sull'altro. SignalR gestisce automaticamente l'invio attraverso i limiti del computer, consentendo ai client di chiamare metodi sul server e viceversa. È possibile passare parametri fortemente tipizzato ai metodi, che abilitano l'associazione di modelli. SignalR supporta due protocolli hub predefiniti: un protocollo di testo basato su JSON (impostazione predefinita) e un protocollo binario basato su MessagePack. MessagePack in genere crea messaggi più piccoli rispetto a JSON. Per altre informazioni, vedere Use MessagePack Hub Protocol in SignalR per ASP.NET Core.
Gli hub chiamano il codice lato client inviando messaggi che contengono il nome e i parametri dei metodi lato client. Gli oggetti inviati come parametri del metodo vengono deserializzati usando il protocollo configurato. Il client tenta di associare il nome a un metodo nel codice lato client. Quando il client trova una corrispondenza, chiama il metodo e gli passa i dati del parametro deserializzati.
Risorse aggiuntive
Cos’è SignalR?
ASP.NET Core SignalR è una libreria open source che semplifica l'aggiunta di funzionalità Web in tempo reale alle app. La funzionalità Web in tempo reale consente al codice lato server di eseguire immediatamente il push del contenuto ai client.
Candidati validi per SignalR:
- App che richiedono aggiornamenti con frequenza elevata dal server, ad esempio giochi, social network, mappe, aste e app GPS e di voto.
- Dashboard e app di monitoraggio, ad esempio dashboard aziendali, aggiornamenti di vendite istantanee o avvisi di viaggio.
- App collaborative Esempi di app collaborative sono le app per lavagne e il software per riunioni in team.
- App che richiedono notifiche. Social network, posta elettronica, chat, giochi, avvisi di viaggio e molte altre app usano le notifiche.
SignalRfornisce un'API per la creazione di chiamate rpc (Remote Procedure Call) da server a client. Le RPC invocano funzioni sui client dal codice .NET lato server. Esistono diverse piattaforme supportate, ognuna con il rispettivo SDK client. Per questo motivo, il linguaggio di programmazione richiamato dalla chiamata RPC varia.
Ecco alcune funzionalità di SignalR per ASP.NET Core:
- Gestisce automaticamente la gestione delle connessioni.
- Invia messaggi a tutti i client connessi contemporaneamente. Ad esempio, una chat room.
- Invia messaggi a client o gruppi di client specifici.
- Scalabilità per gestire l'aumento del traffico.
- SignalR Protocollo Hub
L'origine è ospitata in un repository SignalR in GitHub.
Transports
SignalR supporta le seguenti tecniche per gestire la comunicazione in tempo reale (in ordine di fallback graduale):
- WebSockets
- SSE (Server-Sent Event)
- Polling prolungato
SignalR sceglie automaticamente il metodo di trasporto migliore all'interno delle funzionalità del server e del client.
Hubs
SignalR usa hub per comunicare tra client e server.
Un hub è una pipeline di alto livello che consente a un client e a un server di chiamare i metodi l'uno sull'altro. SignalR gestisce automaticamente l'invio attraverso i limiti del computer, consentendo ai client di chiamare metodi sul server e viceversa. È possibile passare parametri fortemente tipizzati ai metodi, che abilita l'associazione di modelli. SignalR fornisce due protocolli hub predefiniti: un protocollo di testo basato su JSON e un protocollo binario basato su MessagePack. MessagePack in genere crea messaggi più piccoli rispetto a JSON. I browser meno recenti devono supportare il livello XHR 2 per fornire il supporto del protocollo MessagePack.
Gli hub chiamano il codice lato client inviando messaggi che contengono il nome e i parametri dei metodi lato client. Gli oggetti inviati come parametri del metodo vengono deserializzati usando il protocollo configurato. Il client tenta di associare il nome a un metodo nel codice lato client. Quando il client trova una corrispondenza, chiama il metodo e gli passa i dati dei parametri deserializzati.
Browser che non supportano ECMAScript 6 (ES6)
SignalR è destinato a ES6. Per i browser che non supportano ES6, transpilare la libreria in ES5. Per altre informazioni, vedere Getting Started with ES6 – Transpiling ES6 to ES5 with Traceur and Babel (Introduzione a ES6 - Transpiling ES6 to ES5 con Traceur e Babel).