Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 3427|Jawab: 2

[Sumber] Pengatur waktu baru di .NET 6, PeriodicTimer, digunakan

[Salin tautan]
Diposting pada 02/08/2023 19.12.40 | | |
Persyaratan: Gunakan ASP.NET Core 6 untuk membuat layanan latar belakang baru untuk melakukan polling secara teratur untuk mendapatkan data, dan menggunakannyaSistem.Pengatur Waktu.Pengatur WaktuPolling pengatur waktu, menambahkan kode Monitor tambahan untuk mencegah eksekusi berulang pada saat yang sama, meskipun memenuhi kebutuhan bisnis saya, tidak cukup elegan, dan menggunakan pengatur waktu PeriodicTimer baru di .NET 6 dapat memenuhi kebutuhan bisnis saya dengan lebih baik.

Sebagai pengembang, Anda mungkin pernah menggunakan pengatur waktu di .NET sebelumnya. Ada banyak jenis timer di .NET saat ini, masing-masing melayani tujuan yang berbeda. Sebagai berikut:

  • Sistem.Threading.Pengatur Waktu
  • Sistem.Pengatur Waktu.Pengatur Waktu
  • Sistem.Windows.Formulir.Pengatur Waktu
  • Sistem.Web.UI.Pengatur Waktu
  • Sistem.Windows.Threading.DispatcherTimer


Timer baru diperkenalkan di .NET 6 - System.Threading.PeriodicTimer, dan perbedaan terbesar dibandingkan dengan Timer sebelumnya adalah bahwa penanganan peristiwa PeriodicTimer baru dapat digunakan dengan cara asinkron yang lebih nyaman, menghilangkan mekanisme penggunaan callback dan mengurangi kerumitan penggunaan.

.NET 6 memperkenalkan jenis pengatur waktu baru yang disebut PeriodicTimer. Tujuan utama di balik PeriodicTimer adalah untuk menghindari penggunaan callback.Menghindari panggilan balik menyelamatkan kita dari menghadapi kebocoran memori yang dapat terjadi dalam operasi jangka panjang, dan kita dapat menulis kode asinkron alih-alih sinkronisasi melalui async untuk menggunakan metode itu dalam callback. Anda mungkin berurusan dengan jenis pengatur waktu saat iniMasalah lainnya adalah callback yang tumpang tindih。 Jika Anda tidak menulis kode untuk skenario tumpang tindih panggilan balik, Anda mungkin melihat perilaku tak terduga dalam aplikasi Anda.

menciptakanPengatur Waktu BerkalaInstans ini sangat sederhana, satu-satunya parameter yang perlu Anda berikan adalah nilai periode, kodenya adalah sebagai berikut:

Kode Tugas Latar Belakang Waktu Asinkron:

(Akhir)





Mantan:Kesalahan decoding Base64 ada di semua versi .NET
Depan:.NET/C# generik T covariant out dan inverter di antarmuka
 Tuan tanah| Diposting pada 02/08/2023 20.22.23 |
 Tuan tanah| Diposting pada 12/11/2023 09.42.28 |
Layanan berhenti, dan CancellationToken memberi tahu pembatalan tugas, yang mengakibatkan lemparan:OperationCanceledExceptionganjil
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com