HttpRuntime.Cache mengais perilaku default?

Saat menambahkan item menggunakan metode penyisipan default Sisipkan (kunci, nilai) dan dengan demikian menggunakan perilaku default HttpRuntime.Cache, kapan pemulungan dilakukan?

Batas kumpulan aplikasi yang menampung aplikasi saya adalah 0 (tidak terbatas)... tetapi saya tidak melihat cara untuk mengetahui seberapa besar cache sebelum pemulungan terjadi? Masalahnya adalah saya menyimpan data dalam jumlah yang berpotensi sangat besar tetapi saya memiliki memori terbatas di server dan saya ingin menghindari daur ulang kumpulan aplikasi.

Saya bertanya dalam konteks IIS6 dan IIS7.

Terima kasih.


person Rire1979    schedule 27.04.2010    source sumber


Jawaban (1)


Jawaban singkatnya adalah cache mulai mencari di Cache.EffectivePrivateBytesLimit.

Batas default dihitung menggunakan sejumlah faktor, dan secara umum akan menjaga proses Anda dari daur ulang yang berlebihan. Idealnya sebuah aplikasi tidak akan terpengaruh oleh daur ulang, namun saya menyadari ada banyak alasan mengapa hal itu tidak selalu memungkinkan. Jika diperlukan, Anda seharusnya dapat menetapkan batas memori untuk cache berkoordinasi dengan pengaturan daur ulang kumpulan aplikasi.

Thomas Marquardt dari tim asp.net menulis postingan yang sangat menarik yang menjelaskan detailnya.

person Joel Fillmore    schedule 05.05.2010