Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 61378|Répondre: 6

[ASP.NET] asp.net tutoriel du framework Hangfire pour les tâches en arrière-plan

[Copié le lien]
Publié sur 24/05/2019 09:51:10 | | | |
Hangfire fonctionne avec la plupart des plateformes .NET :.NET Framework 4.5 ou plus.NET Core 1.0 ou ultérieur, tout ce qui concerne . Plateforme compatible NET Standard 1.3. Vous pouvez l’intégrer avec presque n’importe quel framework applicatif, y compris ASP.NET, ASP.NET Core, les applications console, les services Windows, WCF, et les pilotes communautaires comme Nancy ou ServiceStack.

Scénarios applicables :L’arrière-plan envoie l’e-mail de manière asynchrone et renvoie une réponse à l’utilisateur dès que possible. Exécution programmée des tâches, exécution cyclique des tâches, exécution asynchrone des tâches chronophages, exécution de la tâche A puis exécution des tâches B, et exécution en lot des tâches.
Comment je faisais avant :

c# encapsule une file universelle QueueHelper
https://www.itsvse.com/thread-5029-1-1.html
(Source : Architect_Programmer)


Vous pouvez mettre un traitement en arrière-plan dans ASP.NET application sans utiliser d’autres processus comme les services Windows. Le code de Hangfire est prêt à être déployéTerminaisons inattendues de processus, recyclage du pool d’applications et redémarrage。 En raison de son utilisationStockage persistant, d’où toiAucun emploi de secours n’est perdu

Tout d’abord, les rendus sont les suivants :




L’image ci-dessus montre le tableau de bord Hangfire Dashboard, qui est très utile et permet de vérifier le statut des tâches en arrière-plan, et c’est aussi très cool, donc il faut le configurer.

L’interface du tableau de bord nécessite un cours de démarrage, uniquement si vousLors de la configuration de Hangfire avec la classe Startup,Interface du tableau de bordIl peut être utilisé

Au début, je n’ai pas configuré le tableau de bord Hangfire et j’ai eu l’erreur suivante :

Les erreurs suivantes sont apparues lors de la tentative de chargement de l’application.
- Aucun assembleur trouvé contenant un OwinStartupAttribut.
- Aucun assembleur trouvé contenant un Startup ou [NomAssemblage]. Cours de démarrage.
Pour désactiver la découverte de démarrage OWIN, ajoutez l’appSetting owin :AutomaticAppStartup avec la valeur « false » dans votre web.config.
Pour spécifier l’Assemblage, la Classe ou la Méthode de démarrage OWIN, ajoutez l’appSetting owin :AppStartup avec la classe de démarrage ou le nom de la méthode de configuration entièrement qualifiée dans votre web.config.



Solution:

Lorsque vous utilisez une initialisation basée sur Global.asax.cs, vous devrez peut-être aussi désactiver la détection de classes de démarrage d’OWIN.

Nous en sommes à l’essentiel, le tutoriel commence ainsi :

1 : Le cadre doit répondre aux besoins du hangfire,Mon projet est .net 4.6.2Donc, tu peux installer Hangfire normalement, les projets .net 4.0 n’ont pas besoin d’essayer, ce n’est pas supporté !

2 : La commande nuget est la suivante :

3 : La classe OWIN Startup est conçue pour garder la logique de démarrage de l’application web en un seul endroit. Dans Visual Studio 2013, vous pouvez l’ajouter en faisant un clic droit sur le projet et en sélectionnant l’élément du menu Add/OWIN Startup Class. Comme montré ci-dessous :



Créez un nouveau fichier Startup.cs dans le répertoire racine du projet.

4 : ConfigurationChaîne de connexion à la base de données, la version SQL Server 2012 que j’utilise ici, la configuration dans web.config est la suivante :

5 : Configurez le tableau de bord Hangfire pour accéder au filtre, créez-en un nouveauHangfireAuthorizationFilter.csLime.

Par défaut, seul l’accès local au tableau de bord Hangfire est autorisé. L’autorisation du tableau de bord doit être configurée pour permettre un accès à distance.


6 : Configurez la classe Startup.cs, le code est le suivant :


7 : Lancer un projet de site web

Exécutez l’application F5 en appuyant sur mode débogage (cela nécessite de regarder la sortie de la méthode Debug.WriteLine). Ensuite, vérifiez le message suivant dans la fenêtre de sortie pour voir si le traitement en arrière-plan a bien démarré.



Parallèlement, la base de données dispose également de 11 tables supplémentaires pour garantir que toutes les tâches peuvent être exécutées normalement, et que les tâches ne seront pas perdues lors de la récupération IIS ou du redémarrage du processus, comme montré dans la figure ci-dessous :



http://<your-web-app>/feu de suspension

Consultez l’URL de l’interface utilisateur du tableau de bord pour voir le rendu en haut de l’article.

Utilisation attachée

Fire-and-forget (publier/abonner)

C’est le type principal de tâche en arrière-plan que la file d’attente de messages persistants gère aussi. Lorsque vous créez une tâche de publication/abonnement, la tâche sera sauvegardée dans la file d’attente par défaut (la file par défaut est « Default », mais plusieurs files d’attente sont prises en charge). Plusieurs travailleurs dédiés écoutent cette file d’attente, en récupèrent les tâches et accomplissent les tâches.


Retard

Si vous souhaitez retarder l’exécution de certaines tâches, vous pouvez utiliser les tâches suivantes. Après un certain temps de délai, la tâche est mise en file d’attente et exécutée comme une tâche de publication/abonnement.

Boucle

Pour appeler la méthode par périodicité (heures, jours, etc.), utilisez la classe RecurringJob. Dans des scénarios complexes, vous pouvez utiliser des expressions CRON pour spécifier un temps planifié pour traiter les tâches.


Continu

La continuité vous permet de définir des flux de travail complexes en reliant plusieurs tâches en arrière-plan.


Lien de documentation officielle :La connexion hyperlientérée est visible.

(Fin)






Précédent:L’algorithme de données vidéo partage des notes
Prochain:Demande annulée : Échec à créer une solution de canal sécurisé SSL/TLS
Publié sur 24/05/2019 10:12:25 |
Ce post a été modifié pour la dernière fois par YuAn le 24-05-2019 à 22:20

Bon article appris
Publié sur 24/05/2019 10:12:46 |
Support Support
Publié sur 17/09/2021 21:59:44 |

Support Support
Publié sur 26/09/2022 22:20:45 |
Soutien, apprenez à l’utiliser
Publié sur 12/11/2022 19:02:23 |

Soutien, apprenez à l’utiliser
Publié sur 25/03/2023 09:45:31 |

Soutien, apprenez à l’utiliser
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com