ASP.NET MVC La mise en cache de beignet extensible apporte la mise en cache de beignet à ASP.NET MVC 3 et plus tard. Le code vous permet de mettre en cache toute votre page en dehors d'un ou plusieurs html.actions qui peuvent être exécutées à chaque demande. Parfait pour le contenu spécifique à l'utilisateur.
La meilleure façon d'ajouter de la mise en cache de beignet à votre projet MVC est d'utiliser le package NuGet. Depuis Visual Studio, sélectionnez Outils | Gestionnaire de packages de bibliothèque , puis choisissez la console du gestionnaire de packages ou gérez les packages NuGet. Via la console, tapez simplement MVCDonutcaching et appuyez sur le retour. À partir de l'interface graphique, recherchez simplement mvcdonutcaching et cliquez sur le bouton Installer.
Le package ajoute plusieurs surcharges à l'assistance HTML HTML.Action intégrée. Le paramètre supplémentaire de chaque surcharge est nommé exclusion de ParentCache . Définissez ceci sur true pour toute action qui ne doit pas être mise en cache ou devrait avoir une durée de cache différente du reste de la page.
@Html . Action ( "Login" , "Account" , true )Le package comprend également un DonutOutputCacheAttribute à utiliser à la place de la sortie de sortie intégrée. Cet attribut est généralement placé sur chaque action du contrôleur qui doit être mise en cache.
Vous pouvez soit spécifier une durée fixe:
[ DonutOutputCache ( Duration = "300" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}Ou utilisez un profil de cache:
[ DonutOutputCache ( CacheProfile = "FiveMins" ) ]
public ActionResult Index ( )
{
return View ( ) ;
}Si vous utilisez des profils de cache, assurez-vous de configurer les profils dans le web.config. Ajoutez ce qui suit dans l'élément System.Web:
< caching >
< outputCacheSettings >
< outputCacheProfiles >
< add name = " FiveMins " duration = " 300 " varyByParam = " * " />
</ outputCacheProfiles >
</ outputCacheSettings >
</ caching >Vous pouvez également configurer le cache de sortie pour utiliser un fournisseur personnalisé:
< caching >
< outputCache defaultProvider = " DistributedCacheProvider " >
< providers >
< add name = " DistributedCacheProvider " type = " DevTrends.Example.DistributedCacheProvider " />
</ providers >
</ outputCache >
</ caching >Remarque qu'un fournisseur personnalisé n'est pas inclus dans ce projet, mais vous pouvez en écrire un assez facilement en sous-classe System.web.caching.OutputCacheprovider . Un certain nombre d'implémentations sont également disponibles sur le Web.
Un guide complet de la mise en cache de beignets extensible MVC est désormais disponible sur le blog DevTrends.