Crear un worker que se inicie al principio y que cargue todas las imágenes de la base de datos a la caché en memoria.
Los workers pueden ser de dos tipos: HostedService y BackgroundService. La diferencia es que los HostedService están diseñados para realizar tareas cortas y los BackgroundService (que heredan de HostedService) pueden ejecutarse durante todo el ciclo de vida de la aplicación.
Ambos tipos de workers se registran durante la construcción del servidor (Program.cs) al final del todo, cuando ya se han registrado el resto de servicios:
var builder = WebApplication.CreateBuilder(args);
// Registro de la base de datos
// Registro de la caché
// Servicios de ASP/Blazor
builder.Services.AddHostedServie<TuWorker>();
var app = builder.Build();
Los workers son servicios Singleton, por lo tanto, tendrás problemas al consumir algunos tipos de servicio (Transient y Scoped, principalmente). Tendrás que investigar sobre cómo crear scopes dentro del worker. Pista
Los workers pueden ejecutarse desde cualquier punto de la aplicación, no solo desde el startup. Es decir, podrías ejecutar un worker como consecuencia de una llamada de una API.
Crear un worker que se inicie al principio y que cargue todas las imágenes de la base de datos a la caché en memoria.
Los workers pueden ser de dos tipos:
HostedService
yBackgroundService
. La diferencia es que losHostedService
están diseñados para realizar tareas cortas y losBackgroundService
(que heredan deHostedService
) pueden ejecutarse durante todo el ciclo de vida de la aplicación.Documentación de HostedService Documentación de BackgroundService
Ambos tipos de workers se registran durante la construcción del servidor (
Program.cs
) al final del todo, cuando ya se han registrado el resto de servicios:Los workers son servicios
Singleton
, por lo tanto, tendrás problemas al consumir algunos tipos de servicio (Transient
yScoped
, principalmente). Tendrás que investigar sobre cómo crearscopes
dentro del worker. PistaLos workers pueden ejecutarse desde cualquier punto de la aplicación, no solo desde el startup. Es decir, podrías ejecutar un worker como consecuencia de una llamada de una API.