Assincronia em tempo real com ASP.NET MVC

Modelos de aplicativos


A comunicação em tempo real está se tornando uma necessidade nas aplicações web que estão sendo construídas, atrás estão aqueles sites que tinham dezenas de páginas para cada ação do usuário, agora tudo gira em torno dos aplicativos de uma única página e sua capacidade de ser dinâmico e assíncrono.
Isso nos leva a desenvolver técnicas que nos permitem adotar e extrair informações em tempo real dos dados manipulados na aplicação, por isso devemos conhecer as técnicas básicas que nos permitem realizar essas abordagens.
Nesta seção veremos algumas técnicas para extrair informações em tempo real, ou seja, atingir um estado de assincronia sem depender de ações do usuário para que o servidor envie os dados ao cliente.
O modelo clássico de uma aplicação é quando nossa página aguarda uma resposta do servidor, desta forma eles permanecem em um estado síncrono que faz todos os novos dados dependerem de ações que o usuário executa na camada do cliente, portanto, se você deseja ver uma atualização, deve faça uma ação que recarregue a página.
Modelo assíncronoO outro modelo é o da assincronia por AJAX onde seções da página são recarregadas, desta forma evitamos ter que recarregar todo o documento, porém ainda dependemos do primeiro evento que é o usuário realizando alguma ação.
Finalmente podemos falar de uma verdadeira comunicação em tempo real quando a informação é enviada pelo servidor independentemente das ações do usuário, embora isso pareça complexo realmente não é, são simplesmente técnicas diferentes que podemos usar, para isso iremos veja alguns dos que temos disponíveis:
Esta técnica consiste em simular uma conversa entre o cliente e o servidor, desta forma podemos trazer as atualizações dos dados periodicamente sem interromper o usuário, dando a impressão de que os dados estão sendo enviados em tempo real.
Para conseguir isso, uma combinação é feita entre as chamadas AJAX e a função cronômetro () do JavascriptCom isso podemos controlar como e quando os dados serão obtidos, a desvantagem disso é que desperdiçamos recursos, pois se houver mais solicitações do que dados obtidos estaremos fazendo uso excessivo do servidor, o que pode gerar problemas de desempenho.

Esta técnica, ao contrário da anterior, não é a simulação de uma conversa nem existem várias chamadas, mas fazemos uma única chamada mas é muito longa, ou seja, é como abrir uma torneira e enquanto a água corre esperamos para algo cair.
Para isso mantemos a conexão com o servidor aberta até que haja uma resposta, este é um pouco mais parecido com um tempo real, porém o problema é que quando a conexão é muito longa pode ser fechada ou talvez o cliente esteja acessando de um local que fecha as conexões de uma forma muito curta, portanto não é muito confiável, também se abrirmos muitos threads deste estilo podemos causar o travamento do servidor.

Já vimos algumas técnicas básicas para criar aplicações com elementos assíncronos em tempo real e com isso também aprendemos suas desvantagens, na próxima parte veremos as técnicas avançadas para essa tarefa.
Anteriorpagina 1 de 2PróximoGostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave