Nõuded: Kasuta ASP.NET Core 6 uue taustateenuse loomiseks, et regulaarselt andmeid küsitada ja kasutada sedaSystem.Timers.TimerTaimeri küsitlus, lisamine täiendava Monitori koodi, et vältida korduvat täitmist samal ajal, kuigi see vastab minu ärivajadustele, ei ole piisavalt elegantne ning uue PeriodicTimer taimeri kasutamine .NET 6-s suudab paremini minu ärivajadusi rahuldada.
Arendajana oled võib-olla varem .NET-is taimereid kasutanud. Tänapäeval on .NET-is palju erinevaid taimereid, millest igaüks täidab erinevat eesmärki. Järgmiselt:
- System.Threading.Timer
- System.Timers.Timer
- System.Windows.Forms.Timer
- System.Web.UI.Timer
- System.Windows.Threading.DispatcherTimer
.NET 6-s tutvustati uus taimer – System.Threading.PeriodicTimer ning suurim erinevus varasematest taimeritest on see, et uue perioodilise taimeri sündmuste käsitlemist saab kasutada mugavamalt asünkroonsel viisil, mis kõrvaldab tagasikõnede kasutamise mehhanismi ja vähendab kasutuse keerukust.
.NET 6 tutvustas uut taimeri tüüpi nimega PeriodicTimer. PeriodicTimeri peamine eesmärk on vältida tagasikõnede kasutamist.Tagasikõnede vältimine säästab meid mälulekete eest, mis võivad tekkida pikaajalistes operatsioonides, ja me saame kirjutada asünkroonkoodi, mitte sünkroonida üle asünkrooni, et kasutada seda meetodit tagasikõnedes. Võid tegeleda praeguse taimeri tüübigaTeine probleem on kattuvad tagasikutsed。 Kui sa ei kirjuta koodi tagasikõnede kattumise stsenaariumite jaoks, võid oma rakenduses näha ootamatut käitumist.
loomaPeriodicTimerInstants on väga lihtne, ainus parameeter, mida pead esitama, on perioodi väärtus, kood on järgmine:
Asünkroonse ajastuse taustaülesande kood:
(Lõpp)
|