Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O que é o SignalR?
ASP.NET Core SignalR é uma biblioteca de código aberto que simplifica a adição de funcionalidade da Web em tempo real aos aplicativos. A funcionalidade da Web em tempo real permite que o código do lado do servidor envie conteúdo para os clientes instantaneamente.
Bons candidatos a SignalR:
- Aplicativos que exigem atualizações de alta frequência do servidor. Exemplos são jogos, redes sociais, votação, leilão, mapas e aplicativos de GPS.
- Painéis e aplicativos de monitoramento. Os exemplos incluem painéis da empresa, atualizações instantâneas de vendas ou alertas de viagem.
- Aplicações colaborativas. Aplicações de quadro branco e software para reuniões de equipa são exemplos de aplicações colaborativas.
- Aplicações que requerem notificações. Redes sociais, e-mail, chat, jogos, alertas de viagem e muitos outros aplicativos usam notificações.
SignalR fornece uma API para criar chamadas de procedimento remoto (RPC) de servidor para cliente. Os RPCs invocam funções em clientes a partir do código .NET do lado do servidor. Existem várias plataformas suportadas, cada uma com seu respetivo SDK de cliente. Por isso, a linguagem de programação que está sendo invocada pela chamada RPC varia.
Aqui estão algumas características do SignalR for ASP.NET Core:
- Lida com o gerenciamento de conexões automaticamente.
- Envia mensagens para todos os clientes conectados simultaneamente. Por exemplo, uma sala de chat.
- Envia mensagens para clientes específicos ou grupos de clientes.
- Dimensiona para lidar com o aumento do tráfego.
- SignalR Protocolo de Hub
A fonte está hospedada em um SignalR repositório no GitHub.
Transports
SignalR suporta as seguintes técnicas para lidar com a comunicação em tempo real (em ordem de alternância cuidadosamente planejada):
- WebSockets
- Eventos enviados pelo servidor
- Consulta Longa
SignalR escolhe automaticamente o melhor método de transporte que está dentro das capacidades do servidor e do cliente.
Hubs
SignalR usa hubs para se comunicar entre clientes e servidores.
Um hub é um pipeline de alto nível que permite que um cliente e um servidor chamem métodos um no outro. SignalR Lida com o despacho através dos limites da máquina automaticamente, permitindo que os clientes chamem métodos no servidor e vice-versa. Você pode passar parâmetros fortemente tipados para métodos, permitindo assim a vinculação de modelo. SignalR fornece dois protocolos de hub internos: um protocolo de texto baseado em JSON e um protocolo binário baseado em MessagePack. O MessagePack geralmente cria mensagens menores em comparação com o JSON. Os navegadores mais antigos devem suportar XHR nível 2 para fornecer suporte ao protocolo MessagePack.
Os hubs chamam código cliente enviando mensagens que contêm o nome e os parâmetros do método cliente. Os objetos enviados como parâmetros de método são desserializados usando o protocolo configurado. O cliente tenta corresponder o nome a um método no código do lado do cliente. Quando o cliente encontra uma correspondência, ele chama o método e passa para ele os dados de parâmetro desserializados.
Navegadores que não suportam ECMAScript 6 (ES6)
SignalR visa o padrão ES6. Para navegadores que não suportam ES6, transpile a biblioteca para ES5. Para obter mais informações, consulte Introdução ao ES6 – Transpilando ES6 para ES5 com Traceur e Babel.