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

Melihat: 61378|Jawab: 6

[ASP.NET] asp.net tutorial kerangka kerja hangfire tugas latar belakang

[Salin tautan]
Diposting pada 24/05/2019 09.51.10 | | | |
Hangfire bekerja dengan sebagian besar platform .NET:.NET Framework 4.5 atau yang lebih baru, .NET Core 1.0 atau lebih baru, apa pun yang terkait dengan . Platform yang kompatibel dengan NET Standard 1.3. Anda dapat mengintegrasikannya dengan hampir semua kerangka kerja aplikasi, termasuk ASP.NET, ASP.NET Core, aplikasi konsol, layanan Windows, WCF, dan driver komunitas seperti Nancy atau ServiceStack.

Skenario yang berlaku:Latar belakang mengirim email secara asinkron dan mengembalikan respons kepada pengguna sesegera mungkin. Eksekusi tugas terjadwal, eksekusi tugas siklus, eksekusi asinkron tugas yang memakan waktu, penyelesaian eksekusi tugas A dan kemudian eksekusi tugas B, dan eksekusi tugas batch.
Bagaimana saya dulu melakukannya:

c# merangkum antrean QueueHelper universal
https://www.itsvse.com/thread-5029-1-1.html
(Sumber: Architect_Programmer)


Anda dapat menempatkan pemrosesan latar belakang di aplikasi ASP.NET tanpa menggunakan proses lain seperti layanan Windows. Kode Hangfire siap untuk diterapkanPenghentian proses yang tidak terduga, daur ulang kumpulan aplikasi, dan restart。 Karena penggunaanPenyimpanan persisten, karenanya AndaTidak ada pekerjaan latar belakang yang hilang

Pertama, renderingnya adalah sebagai berikut:




Gambar di atas adalah dasbor Hangfire Dashboard, yang sangat berguna dan dapat mengecek status tugas latar belakang, dan juga sangat keren, sehingga harus dikonfigurasi.

UI dasbor memerlukan kelas startup, hanya jika AndaSaat mengonfigurasi Hangfire dengan kelas Startup,UI DasborItu bisa digunakan

Pada awalnya, saya tidak mengonfigurasi dasbor Hangfire Dashboard dan mendapatkan kesalahan berikut:

Kesalahan berikut terjadi saat mencoba memuat aplikasi.
- Tidak ada rakitan yang ditemukan yang berisi OwinStartupAttribute.
- Tidak ada rakitan yang ditemukan yang berisi Startup atau [AssemblyName]. Kelas startup.
Untuk menonaktifkan penemuan startup OWIN, tambahkan appSetting owin:AutomaticAppStartup dengan nilai "false" di web.config Anda.
Untuk menentukan Rakitan, Kelas, atau Metode startup OWIN, tambahkan appSetting owin:AppStartup dengan kelas startup atau nama metode konfigurasi yang sepenuhnya memenuhi syarat di web.config Anda.



Larutan:

Saat menggunakan inisialisasi berbasis Global.asax.cs, Anda mungkin juga perlu menonaktifkan deteksi kelas startup OWIN.

Kami mulai ke intinya, tutorial dimulai:

1: Kerangka kerja harus memenuhi kebutuhan hangfire,Proyek saya adalah .net 4.6.2, Jadi, Anda dapat menginstal hangfire secara normal, proyek .net 4.0 tidak perlu dicoba, tidak didukung!

2: Perintah nuget adalah sebagai berikut:

3: Kelas OWIN Startup dirancang untuk menjaga logika bootstrapping aplikasi web di satu tempat. Di Visual Studio 2013, Anda dapat menambahkannya dengan mengklik kanan pada proyek dan memilih item menu Tambahkan/OWIN Kelas Startup. Seperti yang ditunjukkan di bawah ini:



Buat file Startup.cs baru di direktori akar proyek.

4: KonfigurasiString koneksi database, versi SQL Server 2012 yang saya gunakan di sini, konfigurasi di web.config adalah sebagai berikut:

5: Konfigurasikan Dasbor Hangfire untuk mengakses filter, buat yang baruHangfireAuthorizationFilter.csArsip.

Secara default, hanya akses lokal ke Dasbor Hangfire yang diizinkan. Otorisasi dasbor harus dikonfigurasi untuk mengizinkan akses jarak jauh.


6: Konfigurasikan kelas Startup.cs, kodenya adalah sebagai berikut:


7: Mulai proyek situs web

Jalankan aplikasi F5 dengan menekan mode debug (ini memerlukan melihat output metode Debug.WriteLine). Kemudian periksa pesan berikut di jendela Output untuk melihat apakah pemrosesan latar belakang telah berhasil dimulai.



Pada saat yang sama, database juga memiliki 11 tabel lagi untuk memastikan bahwa semua tugas dapat dijalankan secara normal, dan tugas tidak akan hilang di bawah reklamasi IIS atau restart proses, seperti yang ditunjukkan pada gambar di bawah ini:



http://<your-web-app>/hangfire

Kunjungi URL UI Dasbor untuk melihat rendering di bagian atas artikel.

Penggunaan terlampir

Api dan lupakan (publikasikan/berlangganan)

Ini adalah jenis tugas latar belakang utama yang ditangani oleh antrean pesan persisten. Saat Anda membuat tugas publikasi/berlangganan, tugas akan disimpan ke antrean default (antrean default adalah "Default", tetapi beberapa antrean didukung). Beberapa pekerja khusus mendengarkan antrean ini dan mengambil tugas darinya dan menyelesaikan tugas.


Penundaan

Jika Anda ingin menunda eksekusi tugas tertentu, Anda dapat menggunakan tugas-tugas berikut. Setelah waktu tunda tertentu, tugas diantri dan dijalankan seperti tugas publikasi/berlangganan.

Lingkaran

Untuk memanggil metode berdasarkan periodisitas (jam, hari, dll.), gunakan kelas RecurringJob. Dalam skenario kompleks, Anda dapat menggunakan ekspresi CRON untuk menentukan waktu terjadwal untuk memproses tugas.


Berkelanjutan

Kontinuitas memungkinkan Anda menentukan alur kerja yang kompleks dengan menghubungkan beberapa tugas latar belakang bersama-sama.


Tautan dokumentasi resmi:Login hyperlink terlihat.

(Akhir)






Mantan:Algoritma data video berbagi catatan
Depan:Permintaan dibatalkan: Gagal membuat solusi saluran aman SSL/TLS
Diposting pada 24/05/2019 10.12.25 |
Posting ini terakhir diedit oleh YuAn pada 2019-5-24 10:20

Artikel bagus yang dipelajari
Diposting pada 24/05/2019 10.12.46 |
Dukungan Dukungan
Diposting pada 17/09/2021 21.59.44 |

Dukungan Dukungan
Diposting pada 26/09/2022 22.20.45 |
Dukungan, pelajari cara menggunakannya
Diposting pada 12/11/2022 19.02.23 |

Dukungan, pelajari cara menggunakannya
Diposting pada 25/03/2023 09.45.31 |

Dukungan, pelajari cara menggunakannya
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