„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie verhindern Sie das Zwischenspeichern von ASP.NET -MVC -Aktionen?

Wie verhindern Sie das Zwischenspeichern von ASP.NET -MVC -Aktionen?

Gepostet am 2025-04-11
Durchsuche:693

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

kontrollieren Caching in Asp.net MVC -Aktionen

ASP.NET MVCs Caching -Mechanismus steigert die Leistung erheblich. Es gibt jedoch Szenarien, bei denen das Deaktivieren von Zwischenspeichern für bestimmte Maßnahmen von entscheidender Bedeutung ist, um das Abrufen neuer Daten zu gewährleisten. In diesem Handbuch werden Methoden zur Verhinderung des Caching in bestimmten ASP.NET -MVC -Aktionen anhand benutzerdefinierter Attribute verhindern.

Erstellen eines Nocache -Attributs

Um ein benutzerdefiniertes Attribut zu erstellen, das das Caching deaktiviert, nutzen wir die [Attributeusage] und [actionFilterAttribute] Attribute. Unten ist ein Beispiel:

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

anwenden [nocache] auf einen Controller oder eine Aktionsmethode deaktiviert das Caching für dieses spezifische Element. Alternativ verhindert die Erben eines Basiscontrollers und das Dekorieren mit [Nocache] das Caching über alle Erben -Controller.

jQuery's Cache Control

Bei Verwendung von jQuery zum Abrufen von Daten, explizit cache: false in der $. Ajax () Methode verhindert das Caching:

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

durchsetzen von Browser refresh

Nach der Implementierung von Anti-Caching-Maßnahmen ist eine "harte Aktualisierung" (Strg F5) von entscheidender Bedeutung, um sicherzustellen, dass der Browser nicht auf zwischengespeicherten Daten beruht. Eine Standard -Aktualisierung (F5) ruft möglicherweise nicht immer die neuesten Informationen ab, wenn der Browser die zwischengespeicherte Version behält.

Zusammenfassung

unter Verwendung der nocacheattribute oder einstellen cache: false in JQuery verhindert effektiv das Caching für gezielte ASP.NET -MVC -Aktionen und garantiert den Browser, das aktuelle Daten empfängt. Das Mastering Caching Control ist der Schlüssel zur Vermeidung von veralteten Daten, die die Benutzererfahrung und die Anwendungslogik beeinflussen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3