C#mitteltermische Ausführung Asynchroner Methode
Dieser Artikel bietet eine Lösung für den Dienst für den Dienst aus der C# -WEB -Anwendung mit einer asynchronen Methode und dem
-Zyklus.
while
Die Einschränkungen der Timer -Klasse
Die -Klasse, die normalerweise für die Planung von Aufgaben verwendet wird, wodurch die Signatur
-Methode akzeptiert wird. Dies führt zu Beschränkungen, wenn Sie versuchen, asynchrone Methoden auszuführen, um Webdienste anzurufen.
Timer
Asynchroner Taskzyklus void MethodName(object e, ElapsedEventArgs args)
Um diese Grenze zu überwinden, können Sie Zyklusbindung :
verwenden
while
Dieser Zyklus wird regelmäßig nach der Task.Delay
-Methode ausgeführt und verwendet das angegebene Intervall und das Stornierungs -Token. Sie können den Zyklus jederzeit einstellen, indem Sie die Token aus Webanwendungen übergeben.
<code class="language-csharp">public async Task PeriodicFooAsync(TimeSpan interval, CancellationToken cancellationToken) { while (!cancellationToken.IsCancellationRequested) // 使用CancellationToken改进 { await FooAsync(); await Task.Delay(interval, cancellationToken); } }</code>
FooAsync
Das obige ist der detaillierte Inhalt vonWie kann ich in regelmäßigen Abständen in C#asynchrone Methoden ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!