Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 3427|Svare: 2

[Kilde] En ny timer i .NET 6, PeriodicTimer, brukes

[Kopier lenke]
Publisert på 02.08.2023 19:12:40 | | |
Krav: Bruk ASP.NET Core 6 for å lage en ny bakgrunnstjeneste som regelmessig kan polles for å hente data, og bruk denSystem.Timers.TimerTimerpolling, som legger til ekstra Monitor-kode for å forhindre gjentatt kjøring samtidig, selv om det dekker mine forretningsbehov, er ikke elegant nok, og bruk av den nye PeriodicTimer-timeren i .NET 6 kan bedre møte mine forretningsbehov.

Som utvikler har du kanskje brukt timere i .NET før. Det finnes mange typer timere i .NET i dag, hver med sitt eget formål. Som følger:

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


En ny Timer ble introdusert i .NET 6 – System.Threading.PeriodicTimer, og den største forskjellen sammenlignet med de tidligere Timerne er at hendelseshåndteringen til den nye PeriodicTimer kan brukes på en mer praktisk asynkron måte, noe som eliminerer mekanismen med å bruke callbacks og reduserer kompleksiteten i bruken.

.NET 6 introduserte en ny timertype kalt PeriodicTimer. Hovedformålet med PeriodicTimer er å unngå å bruke callbacks.Å unngå tilbakeringinger sparer oss for minnelekkasjer som kan oppstå i langvarige operasjoner, og vi kan skrive asynkron kode i stedet for synkronisere over asynkron for å bruke den metoden i callbacks. Du kan ha å gjøre med den nåværende timertypenEt annet problem er overlappende callbacks。 Hvis du ikke skriver kode for callback-overlappingsscenarier, kan du oppleve uventet oppførsel i applikasjonen din.

skapePeriodicTimerInstansen er veldig enkel, den eneste parameteren du trenger å oppgi er periodens verdi, koden er som følger:

Bakgrunnsoppgavekode for asynkron timing:

(Slutt)





Foregående:Base64-dekodingsfeil finnes i alle versjoner av .NET
Neste:.NET/C# generisk T kovariant ut og inverter i grensesnittet
 Vert| Publisert på 02.08.2023 20:22:23 |
 Vert| Publisert på 12.11.2023 09:42:28 |
Tjenesten stopper, og CancellationToken varsler kanselleringen av oppgaven, noe som resulterer i kastingen:OperasjonKansellertUnntakabnorm
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com