ASP.NET MVC Extensible Donut Caching bringt Donut Caching zu ASP.NET MVC 3 und später. Mit dem Code können Sie Ihre gesamte Seite von einer oder mehreren HTML -Actions abheben, die bei jeder Anfrage ausgeführt werden können. Perfekt für benutzerspezifische Inhalte.
Der beste Weg, um Ihrem MVC -Projekt Donut Caching hinzuzufügen, besteht darin, das Nuget -Paket zu verwenden. Wählen Sie in Visual Studio aus Tools | Bibliothekspaketmanager und dann entweder Package Manager -Konsole oder verwalten Nuget -Pakete. Geben Sie über die Konsole einfach Installpackage MVCDonutcaching ein und drücken Sie die Rückkehr. Suchen Sie einfach nach MVCDonutcaching und klicken Sie auf die Schaltfläche Installation.
Das Paket fügt dem integrierten HTML.Action-HTML-Helfer mehrere Überladungen hinzu. Der zusätzliche Parameter in jeder Überladung wird als exkluziert mit dem Ausdruck genannt. Setzen Sie dies für eine Aktion, die nicht zwischengespeichert werden sollte, oder eine andere Cache -Dauer als der Rest der Seite.
@Html . Action ( "Login" , "Account" , true )Das Paket enthält auch eine DonututputCoteTtribute, die anstelle des eingebauten OutputCACHEATTRIBUTE verwendet werden soll. Dieses Attribut wird in der Regel auf jede Controller -Aktion platziert, die zwischengespeichert werden muss.
Sie können entweder eine feste Dauer angeben:
[ DonutOutputCache ( Duration = "300" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}Oder verwenden Sie ein Cache -Profil:
[ DonutOutputCache ( CacheProfile = "FiveMins" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}Wenn Sie Cache -Profile verwenden, konfigurieren Sie die Profile im web.config. Fügen Sie das Folgende im System hinzu.
< caching >
< outputCacheSettings >
< outputCacheProfiles >
< add name = " FiveMins " duration = " 300 " varyByParam = " * " />
</ outputCacheProfiles >
</ outputCacheSettings >
</ caching >Sie können auch den Ausgangscache für einen benutzerdefinierten Anbieter konfigurieren:
< caching >
< outputCache defaultProvider = " DistributedCacheProvider " >
< providers >
< add name = " DistributedCacheProvider " type = " DevTrends.Example.DistributedCacheProvider " />
</ providers >
</ outputCache >
</ caching >Beachten Sie, dass ein benutzerdefinierter Anbieter in diesem Projekt nicht enthalten ist, aber Sie können ein ziemlich einfaches Schreiben eines Systems schreiben. Eine Reihe von Implementierungen ist auch im Web verfügbar.
Ein umfassender Leitfaden für MVC Extensible Donut Caching ist jetzt im Devtrends -Blog verfügbar.