"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف تمنع تخزين المؤقت من إجراءات ASP.NET MVC؟

كيف تمنع تخزين المؤقت من إجراءات ASP.NET MVC؟

نشر في 2025-04-11
تصفح:584

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

السيطرة على التخزين المؤقت في ASP.NET MVC Actions

آلية التخزين المؤقت لـ ASP.NET MVC تعزز الأداء بشكل كبير. ومع ذلك ، توجد السيناريوهات حيث يعد تعطيل التخزين المؤقت لأفعال معينة أمرًا حيويًا لضمان استرجاع البيانات الجديدة. هذا الدليل تفاصيل طرق لمنع التخزين المؤقت في إجراءات ASP.NET MVC محددة باستخدام سمات مخصصة.

إنشاء سمة nocache

لبناء سمة مخصصة تعطل التخزين المؤقت ، نحن نستفيد من [السمة] و [ActionFilterattribute] السمات. أدناه مثال:

[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);
    }
}

تطبيق [nocache] إلى وحدة تحكم أو طريقة الإجراء يعطل التخزين المؤقت لهذا العنصر المحدد. بدلاً من ذلك ، فإن الوراثة من وحدة تحكم قاعدة وتزيينها مع [nocache] يمنع التخزين المؤقت عبر جميع وحدات التحكم الموروثة.

التحكم في ذاكرة التخزين المؤقت JQuery

عند استخدام jQuery لاسترجاع البيانات ، فإن الإعداد الصريح ذاكرة التخزين المؤقت: false ضمن طريقة $. ajax () يمنع التخزين المؤقت:

$.ajax({
    cache: false,
    // ... other AJAX settings
});

تنفيذ تحديث المتصفح

بعد تنفيذ تدابير مكافحة التآكل ، يعد "التحديث الصلب" (Ctrl F5) أمرًا بالغ الأهمية لضمان عدم الاعتماد على المتصفح على البيانات المخبأة. قد لا يسترجع تحديث قياسي (F5) دائمًا أحدث المعلومات إذا كان المتصفح يحتفظ بالنسخة المخزنة مؤقتًا.

ملخص

استخدام nocacheAttribute أو إعداد Cache: false في jQuery يمنع التخزين المؤقت بشكل فعال لإجراءات ASP.NET MVC المستهدفة ، وضمان استلام المتصفح البيانات الحالية. إتقان التحكم في التخزين المؤقت هو مفتاح تجنب البيانات التي تؤثر على تجربة المستخدم ومنطق التطبيق.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3