Funktioniert die OutputCacheFilter in der Microsoft MVC Preview 4 tatsächlich sparen Sie auf Aktion aufrufen?
-
08-06-2019 - |
Frage
Wir bereitgestellt ein Leben, frische, schicke Webseite mit Vorschau-3 mit strengen Belastungstests.
Seitenausgabe-caching wurde unser Retter und bot uns die Möglichkeit zu erfüllen unsere Leistung den vertraglichen Anforderungen.
Meine Frage ist, gibt es einen Unterschied zwischen Aktion OutputCacheFilter
und Seitenausgabe-caching?
Ist die Aktion Ausgabe-caching schneller als Seitenausgabe-caching?
Lösung
Intern werden die OutputCacheAttribute (aka Ausgabe-cache-filter) verwendet die gleichen internen Mechanismus wie page output caching (aka the @OutputCache-Direktive).
Daher, es ist keiner schneller als der Seitenausgabe-caching.Jedoch, mit MVC können Sie wirklich nicht verwenden Seitenausgabe-caching über die @OutputCache-Direktive in MVC, weil wir Rendern der Ansicht (aka-Seite) nach die Aktion wird ausgeführt.So würden Sie einen sehr kleinen Vorteil.
Mit dem output-cache-filter, es hat die richtige Sache und nicht die Aktion auszuführen-code ein, wenn das Ergebnis ist in der Ausgabe-cache.Hoffe, das hilft.:)
Andere Tipps
Nur bewusst sein, dass es derzeit einen Fehler, wenn Sie anrufen Html.RenderAction(..) auf eine Aktion markiert ist, werden im Cache gespeichert.Anstelle der spezifischen Aktion wird zwischengespeichert, wird die gesamte Seite wird zwischengespeichert.Ich berichtete dies auf codeplex bereits und es scheint ein bekanntes Problem:Aufrufen <% HTML.RenderAction<...>(...);% > , um eine Aktion mit [OutputCache(..)] bewirkt, dass die gesamte Seite für den cache.