Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Mencegah Caching untuk Tindakan ASP.NET MVC Tertentu?

Bagaimanakah Saya Mencegah Caching untuk Tindakan ASP.NET MVC Tertentu?

DDD
Lepaskan: 2025-01-14 15:07:13
asal
815 orang telah melayarinya

How Do I Prevent Caching for Specific ASP.NET MVC Actions?

Mengawal Caching dalam ASP.NET MVC Actions

Mekanisme caching ASP.NET MVC dengan ketara meningkatkan prestasi. Walau bagaimanapun, senario wujud di mana melumpuhkan caching untuk tindakan tertentu adalah penting untuk menjamin pengambilan data baharu. Panduan ini memperincikan kaedah untuk mengelakkan caching dalam tindakan ASP.NET MVC tertentu menggunakan atribut tersuai.

Mencipta Atribut NoCache

Untuk membina atribut tersuai yang melumpuhkan caching, kami memanfaatkan atribut [AttributeUsage] dan [ActionFilterAttribute]. Di bawah ialah contoh:

<code class="language-csharp">[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class NoCacheAttribute : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext filterContext)
    {
        filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
        filterContext.HttpContext.Response.Cache.SetValidUntilExpires(false);
        filterContext.HttpContext.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
        filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        filterContext.HttpContext.Response.Cache.SetNoStore();

        base.OnResultExecuting(filterContext);
    }
}</code>
Salin selepas log masuk

Memohon [NoCache] pada pengawal atau kaedah tindakan melumpuhkan caching untuk elemen khusus itu. Sebagai alternatif, mewarisi daripada pengawal asas dan menghiasinya dengan [NoCache] menghalang cache merentas semua pengawal yang mewarisi.

Kawalan Cache jQuery

Apabila menggunakan jQuery untuk mendapatkan semula data, tetapan cache: false secara eksplisit dalam kaedah $.ajax() menghalang caching:

<code class="language-javascript">$.ajax({
    cache: false,
    // ... other AJAX settings
});</code>
Salin selepas log masuk

Menguatkuasakan Muat Semula Penyemak Imbas

Selepas melaksanakan langkah anti-cache, "muat semula keras" (Ctrl F5) adalah penting untuk memastikan penyemak imbas tidak bergantung pada data cache. Muat semula standard (F5) mungkin tidak selalu mendapatkan maklumat terkini jika penyemak imbas mengekalkan versi cache.

Ringkasan

Menggunakan NoCacheAttribute atau tetapan cache: false dalam jQuery dengan berkesan menghalang caching untuk tindakan ASP.NET MVC yang disasarkan, menjamin penyemak imbas menerima data semasa. Menguasai kawalan caching adalah kunci untuk mengelakkan data basi yang memberi kesan kepada pengalaman pengguna dan logik aplikasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Mencegah Caching untuk Tindakan ASP.NET MVC Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan