top of page

Aplicación Web en Tiempo Real ejecutada en Segundo Plano en ASP .Net | Hosted Services y SignalR


ree

Hola comunidad Vikinga, ahora les comparto como crear una aplicación web usando MVC con .NET 5 y todo el poder de SignalR (is a free and open-sourcesoftware library for MicrosoftASP.NET) que permite que el código del servidor envíe notificaciones asincrónicas a las aplicaciones web del lado del cliente. La biblioteca incluye componentes JavaScript del lado del servidor y del lado del cliente.


en este ejemplo se invoca cada 5 segundos una api para consultar los precios de la criptomoneda bitcoin https://criptoya.com/api/bitso/BTC/MXN/1 para ser mostradas en la vista del navegador.




ree

es importante mencionar los objetos a considerar: IHostedService, IHubContext, Hub.


en la parte de la clase startup.cs es importante hacer las inyecciones:

services.AddSignalR();

services.AddHostedService<CriptoHostedService>();


y agregar un enpoint para permitir la conexión con la vista.

endpoints.MapHub<BitCoinHub>("/bitcoin");


ree


en la parte de la vista es donde esta toda la magia de SignalR.


ree

es necesario instalar las bibliotecas del lado del cliente.



ree


es necesario agregar la referencia

<script src="~/lib/microsoft/signalr/dist/browser/signalr.min.js"></script>


aquí esta toda la magia del SignalR


var connection = new signalR.HubConnectionBuilder()

.withUrl("/bitcoin")

.build();


connection.start().then((result) => console.log(result)).catch((error) =>

console.log(error)

);

connection.on("Receive", (bitcoin) => {


console.log(bitcoin);

});





Les comparto la liga para que clonen el código.



Cuando ejecuten el proyecto la entrada esta en https://localhost:44380/


saludos.



 
 
 

Comments


Formulario de suscripción

¡Gracias por tu mensaje!

  • LinkedIn
  • YouTube

©2022 por el Vikingo Developer.

bottom of page