>在不影響使用者體驗的情況下有效收集和傳輸資料需要在單獨執行緒上定期執行。 雖然C#'s Timer
類別提供定期的方法執行,但其參數要求可能與非同步方法不符。
這個範例示範了沒有Timer
>的參數限制的非同步方法:
<code class="language-csharp">public async Task PeriodicFooAsync(TimeSpan interval, CancellationToken cancellationToken) { while (!cancellationToken.IsCancellationRequested) { await FooAsync(); await Task.Delay(interval, cancellationToken); } }</code>
>在這裡:
PeriodicFooAsync
重複呼叫FooAsync
。 interval
>設定執行之間的延遲。 cancellationToken
允許控制終止。 這對於優雅的關閉至關重要。 以上是如何在 C# 中定期啟動非同步方法而不阻止使用者請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!