ASP.NET MVC OutputCache不适用于根URI

时间:2008-11-27 10:52:20

标签: asp.net-mvc controller action outputcache

我正在学习ASP.NET MVC并被一个问题所困扰。

在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/”访问它,则outputcache不起作用。但是,如果我使用“http://localhost:3575/Home/Index”访问它,则outputcache可以正常工作。

任何人都知道使默认控制器操作outputcacheable的任何解决方法吗?

感谢。

3 个答案:

答案 0 :(得分:7)

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

谢谢, Eilon

答案 1 :(得分:1)

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

答案 2 :(得分:1)

根据我在微软的联系方式,如果您从网站的根目录中删除Default.aspx文件,问题就会完全消失,或者,如果您确实需要,请确保使用最新提供的文件。 ASP.NET MVC的版本。