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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top