我的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上的这个缓存问题?