在IE上部分视图缓存

时间:2014-01-01 20:07:45

标签: asp.net asp.net-mvc asp.net-mvc-4 caching

我的asp.net mvc web应用程序中有以下索引操作方法,但我在IE上面临缓存问题,因为部分视图“_PagedSwitchTable”将始终被缓存。如果某些数据被修改或删除,那么部分视图将继续显示旧数据

public ActionResult Index(string searchTerm = "", int page = 1)
        {
  string withOutSpace = searchTerm.Trim();
  ViewBag.searchTerm = searchTerm;
  int pagesize;
  bool succeed = int.TryParse(System.Web.Configuration.WebConfigurationManager.AppSettings["TechPageSize"], out pagesize);
  var s = repository.FindSwitches(withOutSpace).OrderBy(a => a.Technology.PartialTag).ToPagedList(page, pagesize);
  populateViewData(s);
            if (Request.IsAjaxRequest())
            {

            return PartialView("_PagedSwitchTable", s);
            }

            return View(s);
        }

所以为了解决这个问题,我将一个OutputCache添加到action方法中,如下所示,持续时间为1秒,解决了这个问题

[OutputCache(CacheProfile = "VShort", Location = OutputCacheLocation.Client, VaryByHeader = "X-Requested-With")]

所以我的问题是为什么即使我没有指定OutputCache,IE也会缓存局部视图,而firefox和chrome将始终在局部视图中显示最新数据?并正在添加一个Outputcache正确的方法来解决IE上的这个缓存问题?

0 个答案:

没有答案