Are OutputCacheFilter în previzualizarea Microsoft MVC 4 salva efectiv invocările de acțiune?

Am desfășurat un site viu, proaspăt și luminos, folosind previzualizarea 3, inclusiv testarea riguroasă a stresului.

Rezolvarea paginilor de ieșire a paginii a fost salvatorul nostru și ne-a oferit posibilitatea de a îndeplini cerințele contractuale de performanță.

Întrebarea mea este că există o diferență între acțiunea OutputCacheFilter și cache-ul de ieșire a paginii?

Acțiunea de ieșire a acțiunii este mai rapidă decât cache-ul de ieșire a paginii?

0
fr hi bn

2 răspunsuri

Just be aware that there currently is a bug if you call Html.RenderAction(..) on an Action that is marked to be cached. Instead of the specific action being cached, the entire page gets cached. I reported this on codeplex already and it seems to be a known issue: Calling <% HTML.RenderAction<...>(...); %> to an Action with [OutputCache(..)] causes entire page to cache.

0
adăugat

În interior, OutputCacheAttribute (aka output cache filter) utilizează același mecanism intern ca și ieșirea paginii caching (aka directiva @OutputCache).

Prin urmare, nu este mai rapid decât cache-ul de ieșire a paginii. Cu toate acestea, cu MVC, într-adevăr nu puteți utiliza cache-ul de ieșire a paginilor prin intermediul directivei @OutputCache din MVC, deoarece executăm vizualizarea (aka page) după ce acțiunea este executată. Deci, veți obține beneficii foarte mici.

Cu filtrul de cache de ieșire, acesta face lucrul corect și nu execută codul de acțiune dacă rezultatul se află în cache-ul de ieșire. Sper că vă ajută. :)

0
adăugat