top of page
marigonz1

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


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.




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");




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



es necesario instalar las bibliotecas del lado del cliente.





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.



28 visualizaciones0 comentarios

Comments


bottom of page