Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 3427|Svar: 2

[Källa] En ny timer i .NET 6, PeriodicTimer, används

[Kopiera länk]
Publicerad på 2023-08-02 19:12:40 | | |
Krav: Använd ASP.NET Core 6 för att skapa en ny bakgrundstjänst som regelbundet poll:ar för att hämta data, och använd denSystem.Timers.TimerTimerpolling, att lägga till extra Monitor-kod för att förhindra upprepad körning samtidigt, även om det uppfyller mina affärsbehov, är inte tillräckligt elegant, och att använda den nya PeriodicTimer-timern i .NET 6 kan bättre möta mina affärsbehov.

Som utvecklare kan du ha använt timers i .NET tidigare. Det finns många typer av timers i .NET idag, var och en med olika syften. Följande följer:

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


En ny Timer introducerades i .NET 6 – System.Threading.PeriodicTimer, och den största skillnaden jämfört med tidigare Timers är att händelsehanteringen av den nya PeriodicTimer kan användas på ett mer bekvämt asynkront sätt, vilket eliminerar mekanismen med att använda callbacks och minskar komplexiteten i användningen.

.NET 6 introducerade en ny timertyp kallad PeriodicTimer. Huvudsyftet med PeriodicTimer är att undvika att använda callbacks.Att undvika callbacks sparar oss från att hantera minnesläckor som kan uppstå vid långsiktiga operationer, och vi kan skriva asynkron kod istället för synk över asynkron för att använda den metoden i callbacks. Du kan ha att göra med den aktuella timertypenEtt annat problem är de överlappande callbackarna。 Om du inte skriver kod för återkallelseöverlappningsscenarier kan du se oväntat beteende i din applikation.

skapaPeriodicTimerInstansen är mycket enkel, den enda parametern du behöver ange är periodvärdet, koden är följande:

Asynkron tidsbakgrundsuppgiftskod:

(Slut)





Föregående:Base64-avkodningsfel finns i alla versioner av .NET
Nästa:.NET/C# generisk T kovariant ut och inverter i gränssnittet
 Hyresvärd| Publicerad på 2023-08-02 20:22:23 |
 Hyresvärd| Publicerad på 2023-11-12 09:42:28 |
Tjänsten stannar, och CancellationToken meddelar avbokningen av uppgiften, vilket resulterar i att kastet:OperationCanceledExceptionabnorm
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com