Jika Anda melakukan ASP.NET, Anda pasti akan menggunakan IIS
Jika ingin menambahkan tugas terjadwal ke aplikasi ASP.net, Anda harus menggunakan utas untuk melakukan perhitungan terjadwal tanpa henti
Kemudian katakanlah kita menambahkan kerangka kerja Quartz.NET ke aplikasi ASP.Net kita, dan konfigurasi dan sebagainya baik-baik saja.
Situs ini memiliki kunjungan yang sangat sedikit, dan sekarang hanya sedikit orang yang menggunakannya ketika mereka bekerja, tetapi keesokan harinya saya datang dan melihat bahwa utas dan tugas perhitungan penjadwalan latar belakang dihentikan, dan jika Anda mengambil acara Application_End, Anda akan menemukan bahwa acara ini benar-benar dipanggil.
Maka pasti ada yang salah dengan mekanisme daur ulang kumpulan aplikasi IIS. Karena pengaturan default IIS adalah bahwa jika kumpulan aplikasi situs tidak diakses atau diminta untuk jangka waktu tertentu, IIS akan secara otomatis mengklaim kembali kumpulan program dan menghentikan prosesnya. Benang dalam proses itu pasti tidak akan bertahan.
Namun, kita dapat mengatur parameter kumpulan aplikasi sehingga tidak hanya didaur ulang secara otomatis (beberapa situasi tidak dapat dihindari, seperti situs yang diterapkan secara panas, jumlah kesalahan yang berlebihan, dll.)
Temukan kumpulan program yang digunakan oleh situs ini di IIS dan klik "Pengaturan lanjutan..."
Ubah pengaturan berikut dalam daftar yang terbuka:
Pemulihan - Interval waktu tetap (menit) diubah menjadi 0
- Batas memori virtual/khusus (KB) diubah menjadi 0
Model proses - Batas waktu siaga (menit) diubah menjadi 0
Dengan cara ini, kumpulan program tidak akan didaur ulang secara otomatis, dan beberapa utas komputasi sederhana di latar belakang akan berfungsi secara normal |