C # Méthode asynchrone EXÉCUTION MÉDICE
Cet article fournit une solution au service au service à partir de l'application Web C # avec une méthode asynchrone et le cycle
.
while
Les limites de la classe de minuterie
La classe qui est généralement utilisée pour planifier des tâches, en acceptant la méthode Signature
. Cela apportera des restrictions lorsque vous essayez d'exécuter des méthodes asynchrones pour appeler les services Web.
Timer
cycle de tâche asynchrone void MethodName(object e, ElapsedEventArgs args)
Afin de surmonter cette limite, vous pouvez utiliser liaison du cycle :
while
Ce cycle sera régulièrement exécuté par la méthode Task.Delay
et utilise l'intervalle spécifié et le jeton d'annulation. Vous pouvez arrêter le cycle à tout moment en passant les jetons à partir des applications Web.
<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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!