我正在学习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的任何解决方法吗?
感谢。
答案 0 :(得分:7)
我认为这是ASP.NET MVC中的一个错误。我们已在数据库中记录此问题,并将调查此问题的修复程序。
谢谢, Eilon
答案 1 :(得分:1)
使用VarByParam =“”似乎可以使其正常工作
答案 2 :(得分:1)
根据我在微软的联系方式,如果您从网站的根目录中删除Default.aspx文件,问题就会完全消失,或者,如果您确实需要,请确保使用最新提供的文件。 ASP.NET MVC的版本。