¿Qué es SignalR? ¿Cómo podemos usarlo en ASP.NET C #?

Hay muchos recursos de referencia disponibles sobre SignalR en la web. Pero el problema central que resuelve SignalR es hacer una aplicación en tiempo real.

Por ejemplo, el usuario A está en su página web de comercio electrónico y está viendo que quedan 4 de esos pantalones en stock. Al mismo tiempo, en otro lugar, User2 compró uno de esos pantalones. Puede impulsar este resultado en tiempo real en la página web del usuario A y disminuir el recuento de existencias a la izquierda a 3 sin siquiera actualizar su página.

Una página web que ya está cargada en el navegador está conectada al servidor a través de protocolos como WebSocket o Ajax Rolling y sigue escuchando los cambios que ocurren en el servidor.

Las salas de chat, las acciones en tiempo real, la puntuación del juego son un tipo de aplicaciones para las que las personas lo usan.

Para su segunda pregunta: cómo la usamos, recomendaría consultar tutoriales en MSDN.

Cuando desee enviar algún contenido del servidor al cliente, como si quisiera dar notificaciones en tiempo real al cliente cuando se produzca algún evento en el servidor para este tipo de requisitos, puede usar Signalr.

Signalr intenta utilizar sockets web, pero si el cliente no admite los sockets web en ese caso, utiliza un enfoque alternativo para comunicarse con el cliente.

SignalR utiliza algunos transportes integrados:

  1. Web Sockets (generalmente todos los navegadores modernos son compatibles con Web Sockets)
  2. No hay zócalos web? luego intente con Eventos enviados por el servidor (muy probablemente en navegadores que no sean IE).
  3. No SSE? luego intente Forever Frame (navegadores IE).
  4. No FF ?? ir con sondeo largo

No necesita escribir código explícito para ninguna de las técnicas de transporte anteriores, Signalr se encarga de todos los códigos para los transportes anteriores. Simplemente se concentra en su lógica de negocios y escribe el código. El marco de Signalr se ocupa de todas las demás cosas.

Cómo funciona: básicamente, el código de Java Script escrito en el lado del cliente hace la conexión con el servidor y luego Server Hub realiza un seguimiento de todos los clientes conectados y cada vez que el servidor desea notificar al cliente, simplemente llama a la función de Java Script en el lado del cliente utilizando cualquiera de los transportes dados anteriormente. 🙂

La respuesta de Saransh Bhandari a ¿Cómo funciona ASP.NET SignalR? ¿Cómo transmite mensajes? ¿Hay algún tipo de tecnología de cola de mensajes involucrada?

SignalR no solo lo ayuda a crear aplicaciones en tiempo real, sino que también elige la mejor manera de hacerlo. Como todos los navegadores no son compatibles con todas las técnicas, como algunas versiones de IE no son compatibles con websockets. Sin SignalR, para que su aplicación funcione en cada navegador, necesita escribir código para múltiples técnicas y código para elegir la técnica de acuerdo con el navegador. Si en el futuro, Microsoft decide agregar soporte de sockets web a sus navegadores, debe cambiar el código. Pero con signalR no tiene que preocuparse por eso. Si se agregarán nuevas técnicas al navegador, las sacará de la caja. No necesita cambiar el código en ese caso. SignalR se encargará de eso

Espero que esto ayude:)

SignalR ayuda a crear aplicaciones en tiempo real. Puedes hacer notificaciones push, chatear.

Para ser pragmático mira este gran artículo

Notificación Push con SignalR

Cuando existe el requisito de completar datos en tiempo real en el sitio web.

Por ejemplo:

  • Resultados en vivo de Cricket.
  • Juegos multijugador.
  • Datos de stock en vivo.
  • Aplicación de chat
  • Etc.

Puedes leer sobre el señalizador aquí.

Gracias