Asp.net mendukung tiga jenis cache.
Saya ingin menulis gambaran teknis singkat, tapi mungkin terlalu banyak. Tujuan dari tinjauan teknis adalah untuk mendeskripsikan poin-poin teknis dengan cara tercepat dan termudah, yang juga merupakan cara paling efisien untuk menyebarkan pengetahuan yang saya harap.
1. Cache halaman/kontrol
2. Cache tingkat aplikasi
3. Cache klien peramban
Dari sudut pandang implementasi, cache halaman/kontrol dan cache tingkat aplikasi disimpan dalam memori server karena memori menjadi ketat, konten ini dapat dihapus terlebih dahulu sebelum menjadi tidak valid. (Karakteristik cache menentukan bahwa konten ini dapat dihapus dengan percaya diri). Cache klien browser disimpan dalam cache browser klien. Misalnya, folder sementara IE berfungsi sebagai cache. Setiap kali pengguna meminta halaman, browser akan mencari cache terlebih dahulu untuk melihat apakah ada konten cache yang memenuhi persyaratan dan belum kedaluwarsa. Jika demikian, browser akan membacanya langsung dari cache dan melewati transmisi jaringan.
Berikut ini menunjukkan metode penulisan spesifik di Asp.net:
1. Cache halaman/kontrol dapat dideklarasikan dalam file aspx, ascx, atau dapat dideklarasikan dalam kode di belakangnya.
<%@ OutputCache Duration="#ofseconds"
Location="Setiap | Klien | Hilir | Server | Tidak ada |
ServerAndClient "
Shared="True | False"
VaryByControl="controlname"
VaryByCustom="browser | customstring"
VaryByHeader="header"
VaryByParam ="parametername"
CacheProfile="nama profil cache | ''"
NoStore="true | false"
SqlDependency="pasangan nama database/tabel | CommandNotification"
%>
Parameter utamanya adalah:
Durasi: waktu efektif cache, satuan detik
Dibagikan: Ini hanya berlaku untuk kontrol. Ketika kontrol dapat diterapkan ke beberapa halaman secara bersamaan, dapatkah beberapa halaman berbagi cache ini tanpa setiap halaman menyimpan cache sendiri untuk kontrol ini?
VaryByControl: Cache berubah dengan ID kontrol.
VaryByCustom: Cache berubah dengan variabel yang ditentukan pengguna. Variabel ditentukan di sini dan harus diterapkan di Global.ascx:
public override string GetVaryByCustomString (
HttpContext context,
string custom
)
ini pernyataan Parameter khusus adalah variabel yang dideklarasikan di OutPutcache. Konten cache yang berbeda diwakili dengan mengembalikan nilai string yang berbeda untuk parameter khusus yang berbeda dalam fungsi ini.
VaryByHeader, VaryByParam, dan CacheProfile juga menyetel versi cache yang berbeda.
NoStore artinya isi cache tidak boleh ditulis ke perangkat penyimpanan selain memori. Ini merupakan persyaratan untuk konten dengan keamanan yang relatif tinggi.
SqlDependency terkait dengan database.
2. Cache tingkat aplikasi
hanya dapat diperoleh dalam kode di belakangnya, dan karakteristiknya adalah dapat mengimplementasikan logika cache apa pun yang diperlukan.
Dapat diperoleh melalui Page.Cache, nama kelasnya System.Web.Caching.Cache
3. Cache klien browser
hanya dapat diperoleh di belakang kode dan dapat ditentukan melalui Response.Cache, yang merupakan objek HttpCachePolicy.
Selain itu: Anda dapat menentukan TimeSpan sebagai waktu cache, tanpa mengubahnya menjadi detik setiap kali.
Rentang Waktu publik(centang panjang);
Rentang Waktu publik(int jam, int menit, int detik);
Rentang Waktu publik(int hari, int jam
, int menit, int detik);
, int milidetik);
Jika Anda ingin cache menyimpan satu jam, satu menit, dan satu detik, Anda dapat langsung menggunakan
new TimeSpan(1,1,1)
daripada menghitung terlebih dahulu
1 jam, 1 menit, dan 1 detik = 3600 +60+1=3661 detik, lalu transfer Masukkan 3661 sebagai masa berlaku.
http://www.cnblogs.com/ThomasNet/archive/2006/11/26/573104.html