Asp.net mvc ASP.NET MVC OutputCache不';不适用于根URI

Asp.net mvc ASP.NET MVC OutputCache不';不适用于根URI,asp.net-mvc,controller,action,outputcache,Asp.net Mvc,Controller,Action,Outputcache,我正在学习ASP.NETMVC,有一个问题困扰着我 在HomeController中,索引操作具有OutputCache属性,但似乎不起作用 [HandleError] public class HomeController : Controller { [OutputCache(Duration=5, VaryByParam="none")] public ActionResult Index() { ViewData["Title"] = "Home

我正在学习ASP.NETMVC,有一个问题困扰着我

在HomeController中,索引操作具有OutputCache属性,但似乎不起作用

[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();
    }
}
经过几分钟的尝试,我发现这是由于我访问动作的方式。如果我通过“”访问它,则outputcache不工作。但是,如果我使用“”访问它,outputcache可以工作

有人知道使默认控制器操作可输出缓存的解决方法吗


谢谢。

我认为这是ASP.NET MVC中的一个错误。我们已将此问题记录在数据库中,并将调查此问题的修复方法

谢谢,
Eilon

使用VarByParam=“”似乎可以让它正常工作

根据我在Microsoft的联系人,如果您从站点的根目录中删除Default.aspx文件,或者如果您确实需要它,则该问题将完全消失,确保您使用的是最新版本的ASP.NET MVC附带的版本。

我在这里看到了相同的问题。你们中有人使用chrome吗?我注意到chrome caching中有一些古怪的地方。如果将VaryByParam设置为“None”,将发出HTTP响应头“Vary:*”,这与应该发生的情况相反,那么您是否也会修复该错误?@Eilon我仍然认为这是一个问题,您对缓存根uri有什么建议吗?除了重定向到/home;)