Je souhaite que la fonctionnalité OutputCache
soit désactivée si le paramètre system.web.compilation
dans le fichier web.config est défini sur debug="true"
.Comment faire pour désactiver par programme OutputCache au démarrage de l'application dans ASP.NET MVC
Je peux accéder avec succès cette valeur en appelant cette méthode dans mon Global.asax de Application_Start()
:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
CompilationSection configSection = (CompilationSection)ConfigurationManager.GetSection("system.web/compilation");
if (configSection?.Debug == true)
{
filters.Add(new OutputCacheAttribute()
{
VaryByParam = "*",
Duration = 0,
NoStore = true
});
}
}
Le problème est, tous les points de terminaison dans mes contrôleurs qui ont OutputCache
mis explicitement ne pas utiliser le filtre global qui a été installer.
[OutputCache(CacheProfile = "Month")]
[HttpGet]
public ViewResult contact()
{
return View();
}
Voici où ce « Mois » profil est défini dans mon web.config:
<system.web>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Month" duration="2592000" location="Any" varyByParam="*" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
</system.web>
Je dois être en mesure d'annuler l'utilisation de profils OutputCache explicitement définis comme « Mois », quand je suis en mode de débogage. Comment puis-je faire ceci?