Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 3427|Risposta: 2

[Fonte] Viene utilizzato un nuovo timer in .NET 6, PeriodicTimer,

[Copiato link]
Pubblicato su 02/08/2023 19:12:40 | | |
Requisiti: Usa ASP.NET Core 6 per creare un nuovo servizio di background da intervistare regolarmente per ottenere dati, e utilizzaloSystem.Timers.TimerIl sondaggio del timer, aggiungere codice Monitor aggiuntivo per evitare esecuzioni ripetute contemporaneamente, anche se soddisfa le mie esigenze aziendali, non è abbastanza elegante, e l'uso del nuovo timer PeriodicTimer in .NET 6 può soddisfare meglio le esigenze del mio business.

Come sviluppatore, potresti aver già usato timer in .NET in passato. Oggi esistono molti tipi di timer in .NET, ognuno con uno scopo diverso. Come segue:

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


Un nuovo Timer è stato introdotto in .NET 6 - System.Threading.PeriodicTimer, e la differenza più grande rispetto ai Timer precedenti è che la gestione degli eventi del nuovo PeriodicTimer può essere utilizzata in modo asincrono più comodo, eliminando il meccanismo di callback e riducendone la complessità dell'uso.

.NET 6 introdusse un nuovo tipo di timer chiamato PeriodicTimer. Lo scopo principale di PeriodicTimer è evitare di usare callback.Evitare i callback ci salva dalla gestione di perdite di memoria che possono verificarsi nelle operazioni a lungo termine, e possiamo scrivere codice async invece di sync su async per usare quel metodo nei callback. Potresti dover affrontare il tipo attuale di timerUn altro problema sono le sovrapposizioni dei callback。 Se non scrivi codice per scenari di richiamata in modo di sovrapposizione, potresti notare comportamenti inaspettati nella tua applicazione.

crearePeriodicTimerL'istanza è molto semplice, l'unico parametro che devi fornire è il valore del periodo, il codice è il seguente:

Codice di Task di Background per la Temporizzazione Asincrona:

(Fine)





Precedente:Gli errori di decodifica in Base64 esistono in tutte le versioni di .NET
Prossimo:.NET/C# generico T covariante e inverter nell'interfaccia
 Padrone di casa| Pubblicato su 02/08/2023 20:22:23 |
 Padrone di casa| Pubblicato su 12/11/2023 09:42:28 |
Il servizio si interrompe e il CancellationToken notifica la cancellazione del compito, causando il throwing:OperazioneEccezioneCancellataanormale
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com