Asp.net MVC Caching Donat yang Dapat Diperluas Membawa Caching Donat ke ASP.NET MVC 3 dan yang lebih baru. Kode ini memungkinkan Anda untuk menyimpan semua halaman Anda selain dari satu atau lebih html. Aksi yang dapat dieksekusi setiap permintaan. Sempurna untuk konten spesifik pengguna.
Cara terbaik untuk menambahkan caching donat ke proyek MVC Anda adalah dengan menggunakan paket Nuget. Dari dalam Visual Studio, pilih Tools | Manajer Paket Perpustakaan dan kemudian pilih Paket Manajer Konsol atau Kelola Paket Nuget. Melalui konsol, cukup ketik install-package mvcdonutcaching dan tekan return. Dari GUI, cukup cari mvcdonutcaching dan klik tombol Install.
Paket ini menambahkan beberapa kelebihan beban ke html helper html. Parameter tambahan dalam setiap kelebihan muatan bernama ExcleDefromparentcache . Atur ini benar untuk tindakan apa pun yang tidak boleh di -cache, atau harus memiliki durasi cache yang berbeda dari sisa halaman.
@Html . Action ( "Login" , "Account" , true )Paket ini juga termasuk donutoutputCacheattribute yang akan digunakan sebagai pengganti outputCacheattribute bawaan. Atribut ini biasanya ditempatkan pada setiap tindakan pengontrol yang perlu di -cache.
Anda dapat menentukan durasi tetap:
[ DonutOutputCache ( Duration = "300" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}Atau, gunakan profil cache:
[ DonutOutputCache ( CacheProfile = "FiveMins" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}Jika Anda menggunakan profil cache, pastikan untuk mengkonfigurasi profil di web.config. Tambahkan yang berikut dalam elemen System.web:
< caching >
< outputCacheSettings >
< outputCacheProfiles >
< add name = " FiveMins " duration = " 300 " varyByParam = " * " />
</ outputCacheProfiles >
</ outputCacheSettings >
</ caching >Anda juga dapat mengonfigurasi cache output untuk menggunakan penyedia khusus:
< caching >
< outputCache defaultProvider = " DistributedCacheProvider " >
< providers >
< add name = " DistributedCacheProvider " type = " DevTrends.Example.DistributedCacheProvider " />
</ providers >
</ outputCache >
</ caching >Catatan, bahwa penyedia khusus tidak disertakan dengan proyek ini tetapi Anda dapat menulis dengan cukup mudah dengan subklassing system.web.caching.outputCacheprovider . Sejumlah implementasi juga tersedia di web.
Panduan komprehensif untuk MVC Extensible Donut Caching sekarang tersedia di Blog Devtrends.