Követelmények: Használd ASP.NET Core 6-ot egy új háttérszolgáltatás létrehozására, amely rendszeresen lekérdezést végez az adatok megszerzése érdekében, és használja aztSystem.Timers.TimerTimer polling, amely további Monitor kódot ad, hogy megakadályozza az ismétlődő végrehajtást egyszerre, bár megfelel az üzleti igényeimnek, nem elég elegáns, és az új PeriodicTimer időzítő a .NET 6-ban jobban kielégítheti az üzleti igényeimet.
Fejlesztőként lehet, hogy korábban használtál időzítőt .NET-ben. Ma a .NET-ben sokféle időzítő létezik, mindegyik más célt szolgál. Következőképpen:
- System.Threading.Timer
- System.Timers.Timer
- System.Windows.Forms.Timer
- System.Web.UI.Timer
- System.Windows.Threading.DispatcherTimer
Új időzítőt vezettek be a .NET 6-ban – System.Threading.PeriodicTimer, és a legnagyobb különbség az előző időzítőkhöz képest, hogy az új PeriodicTimer eseménykezelése kényelmesebb, aszinkron módon használható, megszüntetve a visszahívások mechanizmusát és csökkentve a használat összetettségét.
A .NET 6 bevezetett egy új időzítő típust, amit PeriodicTimer néven ismertek. A PeriodicTimer fő célja, hogy elkerüljék a visszahívások használatát.A visszahívások elkerülése megóvja minket a memóriakiszivárgásoktól, amelyek hosszú távú műveletek során előfordulhatnak, és írhatunk aszinkron kódot aszinkron helyett, hogy ezt a módszert visszahívásokban használjuk. Lehet, hogy a jelenlegi időzítő típussal kell foglalkoznodEgy másik probléma a átfedő visszahívások。 Ha nem írsz kódot visszahívásos átfedési helyzetekhez, váratlan viselkedést tapasztalhatsz az alkalmazásodban.
alkotPeriodicTimerAz instance nagyon egyszerű, az egyetlen paraméter, amit meg kell adnod, az a periódusérték, a kód a következő:
Aszinkron időzítés háttérfeladat kód:
(Vége)
|