Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O que é SignalR?
O 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 aos clientes instantaneamente.
Bons candidatos para SignalR:
- Aplicativos que exigem atualizações frequentes do servidor. Por exemplo, jogos, redes sociais, votação, leilão, mapas e aplicativos de GPS.
- Painéis e aplicativos de monitoramento. Por exemplo, painéis de empresa, atualizações de vendas instantâneas ou alertas de viagem.
- Aplicativos colaborativos. Aplicativos de quadro de comunicação e software de reunião de equipe são exemplos de aplicativos de colaboração.
- Aplicativos que exigem notificações. Redes sociais, email, 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 no código .NET no lado do servidor. Há várias plataformas compatíveis, cada uma com seu respectivo SDK de cliente. Por isso, a linguagem de programação que está sendo invocada pela chamada RPC varia.
Aqui estão alguns recursos de SignalR para ASP.NET Core:
- Trata do gerenciamento de conexões automaticamente.
- Envia mensagens para todos os clientes conectados simultaneamente. Por exemplo, uma sala de chat.
- Envia mensagens para clientes ou grupos de clientes específicos.
- Escala para lidar com o aumento do tráfego.
- Protocolo de Hub SignalR
A fonte está hospedada em um repositório SignalR no GitHub.
Transports
SignalR oferece suporte às seguintes técnicas para lidar com a comunicação em tempo real (em ordem de fallback normal):
- WebSockets
- Eventos enviados pelo servidor
- Sondagem longa
SignalR escolhe automaticamente o melhor método de transporte que está dentro dos recursos 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 uns nos outros. SignalR trata automaticamente do despacho entre os limites do computador, permitindo que os clientes chamem métodos no servidor e vice-versa. Você pode passar parâmetros fortemente tipados para os métodos, o que permite o model binding. SignalR fornece dois protocolos de hub integrados: 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 dar suporte ao XHR nível 2 para oferecer suporte ao protocolo MessagePack.
Os hubs chamam o código do lado do cliente enviando mensagens que contêm o nome e os parâmetros do método do lado do 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 incompatíveis com ECMAScript 6 (ES6)
SignalR tem como destino o ES6. Para navegadores que não são compatíveis com o ES6, transpile a biblioteca para o ES5. Para obter mais informações, consulte Introdução ao ES6 - Transposição de ES6 para ES5 com Traceur e Babel.