Je suis en train de réécrire une très ancienne application VB en une application C# ASP.Net basée sur un navigateur et utilisant Core 2.1 et Entity Framework en back-end sur le serveur SQL.
Plusieurs de ces fonctions sont des tâches de longue haleine. Par exemple, l'importation d'un fichier CSV de répertoire d'adresses. Ces fichiers font généralement 50 à 100 Mo et doivent être analysés. J'ai écrit une fonction de téléchargement et d'importation, qui fonctionne en 15 minutes environ - la plupart du temps, il s'agit du temps d'écriture dans la base de données.
J'essaie de trouver un moyen d'exécuter le processus d'importation de manière à ce qu'il puisse signaler la progression au navigateur du client, idéalement en transformant l'option de menu en une barre de progression jusqu'à ce que la tâche soit terminée - puisque le fichier _layout.cshtml se trouve sur chaque page, cela permettrait à tout utilisateur de savoir que la tâche est en cours et quand elle se terminera.
J'ai regardé IHostedServices et les fonctions BackgroundService, mais je ne trouve pas d'exemples qui correspondent à ce que j'essaie de faire. J'ai vu un article sur MVC5 qui utilisait SignalR et Knockout (avec lesquels je suis moins familier) mais il n'utilise pas les fonctions Core 2+ ou les fonctions de service plus récentes.
Quelqu'un peut-il m'indiquer un bon exemple de quelque chose comme ça dans .Net Core > 2.0 ?
Merci d'avance.