11

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

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

谢谢。

4

3 回答 3

7

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

谢谢,艾隆

于 2008-11-28T08:00:41.267 回答
1

使用 VarByParam="" 似乎使它工作

于 2009-03-03T15:51:01.130 回答
1

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

于 2010-09-10T17:59:19.513 回答