Si le contrôleur de l'action a la OutputCache attribut spécifié sur une action, est-il un moyen pour effacer le cache de sortie sans avoir à redémarrer IIS?
[OutputCache (Duration=3600,VaryByParam="param1;param2")]
public string AjaxHtmlOutputMethod(string param1, string param2)
{
var someModel = SomeModel.Find( param1, param2 );
//set up ViewData
...
return RenderToString( "ViewName", someModel );
}
Je suis à la recherche à l'aide d' HttpResponse.RemoveOutputCacheItem(string path)
pour la désactiver, mais je vais avoir de la difficulté à déterminer ce que le chemin d'accès doit être à la carte à la méthode d'action. Je vais essayer de nouveau avec la page aspx qui est rendu par les ViewName.
Éventuellement, je vais insérer manuellement la sortie de l' RenderToString
dans la HttpContext.Cache
au lieu de cela, si je ne peux pas comprendre ça.
Mise à jour
Veuillez noter que le OutputCache est VaryByParam, et de tester une codé en dur chemin "/controller/action" n'a pas fait l'outputcache, de sorte qu'il ressemble a "/controller/action/param1/param2".
Cela signifie que je vais probablement avoir à retourner au niveau de l'objet de la mise en cache et le cache manuellement la sortie pour RenderToString()
:(