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

Vue: 3427|Répondre: 2

[Source] Un nouveau minuteur en .NET 6, PeriodicTimer, est utilisé

[Copié le lien]
Publié sur 02/08/2023 19:12:40 | | |
Exigences : Utilisez ASP.NET Core 6 pour créer un nouveau service de vérification des antécédents à interroger régulièrement afin d’obtenir des données, et utilisez-leSystem.Timers.TimerLe polling du minuteur, l’ajout de code supplémentaire pour surveiller pour éviter l’exécution répétée en même temps, bien qu’il réponde aux besoins de mon entreprise, n’est pas assez élégant, et utiliser le nouveau minuteur PeriodicTimer en .NET 6 peut mieux répondre à mes besoins métier.

En tant que développeur, vous avez peut-être déjà utilisé des minuteurs dans .NET auparavant. Il existe aujourd’hui de nombreux types de minuteurs dans .NET, chacun ayant une fonction différente. Comme suit:

  • System.Threading.Timer
  • System.Timers.Timer
  • System.Windows.Forms.Timer
  • System.Web.UI.Timer
  • System.Windows.Threading.DispatcherTimer


Un nouveau minuteur a été introduit dans .NET 6 - System.Threading.PeriodicTimer, et la plus grande différence par rapport aux Timers précédents est que la gestion des événements du nouveau PeriodicTimer peut être utilisée de manière plus asynchrone pratique, éliminant ainsi le mécanisme d’utilisation des rappels et réduisant la complexité de l’utilisation.

.NET 6 a introduit un nouveau type de minuterie appelé PeriodicTimer. Le principal objectif de PeriodicTimer est d’éviter d’utiliser des callbacks.Éviter les rappels nous évite de gérer les fuites de mémoire pouvant survenir lors d’opérations à long terme, et nous pouvons écrire du code asynchrone au lieu de synchroniser sur async pour utiliser cette méthode dans les rappels. Vous avez peut-être affaire au type de minuterie actuelUn autre problème concerne le chevauchement des rappels。 Si vous n’écrivez pas de code pour des scénarios de recouvrement de rappel, vous pouvez constater des comportements inattendus dans votre application.

créerMinuteur périodiqueL’instance est très simple, le seul paramètre que vous devez fournir est la valeur de la période, le code est le suivant :

Code de tâche asynchrone en arrière-plan :

(Fin)





Précédent:Des erreurs de décodage de base64 existent dans toutes les versions de .NET
Prochain:.NET/C# sortie covariante générique en T et onduleur à l’interface
 Propriétaire| Publié sur 02/08/2023 20:22:23 |
 Propriétaire| Publié sur 12/11/2023 09:42:28 |
Le service s’arrête, et le CancellationToken notifie l’annulation de la tâche, ce qui entraîne le lancer :OpérationAnnuledExceptionanormal
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