Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3427|Odpověď: 2

[Zdroj] Používá se nový časovač v .NET 6, PeriodicTimer,

[Kopírovat odkaz]
Zveřejněno 02.08.2023 19:12:40 | | |
Požadavky: Použít ASP.NET Core 6 k vytvoření nové služby na pozadí, kterou budete pravidelně dotazovat za účelem získání dat, a použít jiSystem.Timers.TimerTimer pollling, přidání dalšího Monitor kódu pro zabránění opakovanému spouštění současně, i když splňuje mé obchodní potřeby, není dostatečně elegantní a použití nového PeriodicTimer timeru v .NET 6 může lépe vyhovět mým obchodním potřebám.

Jako vývojář jste možná už dříve používali časovače v .NET. Dnes existuje v .NET mnoho typů časovačů, z nichž každý slouží jinému účelu. Následovně:

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


V .NET 6 byl představen nový Timer – System.Threading.PeriodicTimer – a největší rozdíl oproti předchozím Timerům spočívá v tom, že zpracování událostí nového PeriodicTimeru lze používat pohodlněji asynchronně, což eliminuje mechanismus callbacků a snižuje složitost použití.

.NET 6 představil nový typ časovače nazvaný PeriodicTimer. Hlavním účelem PeriodicTimeru je vyhnout se používání callbacků.Vyhýbání se callbackům nás šetří před úniky paměti, které mohou nastat při dlouhodobém provozu, a můžeme psát asynchronní kód místo synchronizace přes async, abychom tuto metodu použili při callbacku. Možná máte co do činění s aktuálním typem časovačeDalším problémem jsou překrývající se callbacky。 Pokud nepíšete kód pro scénáře překryvu zpětného volání, můžete ve své aplikaci zaznamenat neočekávané chování.

vytvářetPeriodicTimerInstance je velmi jednoduchá, jediný parametr, který musíte uvést, je hodnota periody, kód je následující:

Asynchronní časový kód pozadí:

(Konec)





Předchozí:Chyby dekódování Base64 existují ve všech verzích .NET
Další:.NET/C# generický T kovariantní výstup a invertor v rozhraní
 Pronajímatel| Zveřejněno 02.08.2023 20:22:23 |
 Pronajímatel| Zveřejněno 12.11.2023 9:42:28 |
Služba se zastaví a CancellationToken oznámí zrušení úkolu, což vede k hodění:OperationCanceledExceptionabnormální
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com