ASP.NET MVC OutputCache ne fonctionne pas pour l'URI racine
-
11-07-2019 - |
Question
J'apprends ASP.NET MVC et je suis dérangé par un problème.
Dans HomeController, l'action Index comporte l'attribut OutputCache, mais cela ne semble pas fonctionner.
[HandleError]
public class HomeController : Controller
{
[OutputCache(Duration=5, VaryByParam="none")]
public ActionResult Index()
{
ViewData["Title"] = "Home Page" + DateTime.Now;
ViewData["Message"] = "Welcome to ASP.NET MVC! " + DateTime.Now;
return View();
}
}
Après quelques minutes d’essai, j’ai trouvé que c’était dû à la façon dont j’ai accédé à l’action. Si j'y accède via http: // localhost: 3573 / " le cache de sortie ne fonctionne pas. Toutefois, si j’y accède avec http: // localhost: 3575 / Home / Index " , le outputcache fonctionne.
Quelqu'un connaît-il une solution de contournement pour rendre la sortie du contrôleur-action par défaut possible?
Merci.
La solution
Je pense que c'est un bogue dans ASP.NET MVC. Nous avons enregistré le problème dans notre base de données et nous étudierons une solution à ce problème.
Merci, Eilon
Autres conseils
using VarByParam = "&"; semble le faire fonctionner
Selon mes contacts chez Microsoft, le problème disparaît complètement si vous supprimez le fichier Default.aspx de la racine de votre site ou, si vous en avez absolument besoin, assurez-vous d'utiliser celui qui est fourni avec le dernier fichier. version d'ASP.NET MVC.