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.
Comments