c#pertengahan pelaksanaan kaedah asynchronous
Artikel ini menyediakan penyelesaian kepada perkhidmatan kepada perkhidmatan dari aplikasi Web C# dengan kaedah asynchronous dan kitaran
.
while
Keterbatasan kelas pemasa
Kelas yang biasanya digunakan untuk tugas perancangan, menerima kaedah
tandatangan. Ini akan membawa sekatan apabila cuba melaksanakan kaedah asynchronous untuk memanggil perkhidmatan web.
Timer
kitaran tugas asynchronous void MethodName(object e, ElapsedEventArgs args)
Untuk mengatasi had ini, anda boleh menggunakan mengikat kitaran :
while
Kitaran ini akan dijalankan secara kerap oleh kaedah Task.Delay
, dan menggunakan selang yang ditentukan dan token pembatalan. Anda boleh menghentikan kitaran pada bila -bila masa dengan lulus token dari aplikasi 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
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Kaedah Asynchronous pada Selang Biasa dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!