Asp.net mvc 4 当其他操作调用该操作时,outputcache不工作
ASP.NETMVC4 守则:Asp.net mvc 4 当其他操作调用该操作时,outputcache不工作,asp.net-mvc-4,outputcache,Asp.net Mvc 4,Outputcache,ASP.NETMVC4 守则: [OutputCache(Duration = int.MaxValue, VaryByParam = "id")] public ActionResult Index(int id = 0) { return Content(DateTime.Now.ToString()); } 上面的代码运行良好。但守则: public ActionResult Index(int id = 0) {
[OutputCache(Duration = int.MaxValue, VaryByParam = "id")]
public ActionResult Index(int id = 0)
{
return Content(DateTime.Now.ToString());
}
上面的代码运行良好。但守则:
public ActionResult Index(int id = 0)
{
ActionResult result = Test(id);
return result;
}
[OutputCache(Duration = int.MaxValue, VaryByParam = "id")]
ActionResult Test(int id)
{
return Content(DateTime.Now.ToString());
}
这不管用
我也试着这样做:
public ActionResult Index(int id = 0)
{
return Test(id);
}
它也不是每次请求都输出相同的值 您应该使用
return RedirectToAction("Index", "Home", new { id = 1 });
像这样
但是,当请求来自android或iphone等应用程序时,我该怎么办?这种方法不会得到正确的结果,因为这不是Response.write()方法,而是将响应头位置值设置为hostname/home/test/id!顺便说一下,我用的是ApiController!
public ActionResult Index(int id = 0)
{
return RedirectToAction("Test", "Home", new { id = 1 });
}
[OutputCache(Duration = int.MaxValue, VaryByParam = "id")]
ActionResult Test(int id)
{
return Content(DateTime.Now.ToString());
}