2011-01-13 10 views
12

ASP.NET MVC 3 (final) è stato rilasciato oggi. Quando questa versione era ancora agli inizi, ricordo di aver letto su codeplex che veniva preso in considerazione il caching delle ciambelle. Qualcuno sa se questo è diventato in V3? Non riesco a trovare alcuna informazione, quindi posso solo (tristemente) presumere che non sia successo.La caching Donut è disponibile in ASP.NET MVC 3

+0

Fammi avere ragione, la memorizzazione nella cache di donut è disponibile da. NET 2. MVC2 lo supporta. MVC3 rilascia il supporto ?! Cosa diavolo? Senza alternative disponibili oltre a scrivere tutto da solo? Gah, non può essere giusto. – batkuip

risposta

15

Sì, lo è. Scott Gu blogged about it:

Oltre a supportare piena pagina cache di output, ASP.NET MVC 3 anche supporti a pagina parziale caching - che permette di memorizzare nella cache una regione di uscita e ri-utilizzarlo in tutta richieste multiple o controller. Il [OutputCache] comportamento per pagina parziale caching era aggiornato con RC2 in modo che i contenuti secondari voci memorizzate nella cache vengono variati sulla base parametri di input in contrasto con la struttura di URL della richiesta di primo livello - che rende scenari caching entrambi più semplici e potenti del comportamento nel precedente RC.


UPDATE:

Fuori dalla scatola unica ciambella buco di caching è supportato in ASP.NET MVC 3. Questo consente di memorizzare nella cache una piccola porzione della pagina utilizzando l'attributo [OutputCache] su un'azione del bambino. Il caching della ciambella che consente di escludere parti di una pagina che è stata memorizzata nella cache non è supportato. Response.WriteSubstitution non funziona in quanto ASP.NET MVC 2. Ecco un good article che spiega le diverse opzioni di cache disponibili in ASP.NET MVC 3.


UPDATE 2:

Ecco un great article che illustra come il caching ad anello potrebbe essere abilitato in ASP.NET MVC 3.

+2

Questo è il caching del foro della ciambella, non il caching della ciambella. La cache di ciambella non è supportata nella casella in MVC 3. – Levi

+1

@Levi, buon punto. Aggiornerò la mia risposta –

+0

@Darin, Grazie per l'aggiornamento. Un eccellente articolo davvero. Ho letto da qualche parte che l'obiettivo è includere il caching di ciambella in MVC 4. Non sono sicuro se tenere fuori o usare questo pacchetto di nuget ... –

2

Ecco un po 'più detailed example da Scott, usando la sintassi del Rasoio.

+1

Ottimo link ma non sono sicuro se si tratta di un caching del foro ciambella, poiché la pagina non è memorizzata nella cache ma il "buco della ciambella" è.Non voglio memorizzare nella cache parti della mia pagina, ma invece memorizzo nella cache la pagina e lascia le parti dinamiche. È una sfumatura, ma dovrebbe essere chiarita. –

2

Il caching della ciambella (sì, la cosa reale) è disponibile come parte della mia "velocità-lib" per MVC: Moth. Opere in entrambe ASP.NET MVC 2 e 3. MVC

documenti sono a the wiki, e gli esempi sono nella cartella Mvc3.Demo

2

ho trovato un pacchetto MvcDonutCaching NuGet menzionato da Denis Huvelle che risolve il problema per 3 & 4 - ma non l'ho provato