ASP.NET MVC OutputCache不适用于根URI

问题描述:

我正在学习ASP.NET MVC,并且遇到了一个问题。ASP.NET MVC OutputCache不适用于根URI

在HomeController中,Index操作具有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(); 
    } 
} 

经过了几分钟的尝试,我发现这是由于我访问该操作的方式。如果通过“http://localhost:3573/”访问它,则输出缓存不起作用。但是,如果我通过“http://localhost:3575/Home/Index”访问它,则outputcache将起作用。

有人知道任何解决方法,使默认的控制器行动outputcacheable?

谢谢。

+0

我在这里看到同样的问题。 – 2009-01-16 18:54:48

+0

你们任何人使用铬?我已经注意到铬缓存中的一些奇怪 – 2009-04-02 22:20:31

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

感谢, Eilon

使用VarByParam =“”似乎使其工作

根据我在微软接触,这个问题完全消失,如果从根删除Default.aspx文件您网站,或者,如果您绝对需要拥有它,请确保使用随最新版本的ASP.NET MVC提供的那个。