我创建了一个基于 ASP.NET 4 的网站。起初,我运行默认站点,因为它是由 Visual Studio ASP.NET 4 Internet 应用程序模板生成的。我刚刚点击了调试按钮,IE 启动了,它连接http://localhost:1341/
并加载了我网站的默认欢迎页面。一切似乎都很好,所以我开始重新设计 Index.cshtml。
重新设计后,我再次启动了网站。在导航时,我注意到如果单击浏览器的“后退”按钮,我将获得第一页的缓存旧版本,我必须在浏览器中点击“刷新”才能获得新版本。
所以我加了
<meta http-equiv="PRAGMA" content="NO-CACHE">
和
protected void Application_BeginRequest(object sender, EventArgs e)
{
// prevent caching
HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Current.Response.Cache.SetValidUntilExpires(false);
HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.Cache.SetNoStore();
}
到我的网站。
然后我使用 IE 选项清除了 IE 缓存。我还清理了我的 Local\Temp 文件夹。
但是在浏览器中点击后退按钮时,我仍然在 IE 开发人员工具的网络选项卡中得到了结果 304。
获得重新设计的新页面的唯一方法是使用缓存->始终从服务器刷新。我可以出于开发目的这样做,但这只是让我心烦意乱——当我点击返回时,它总是从哪里得到那个非常旧的页面?
调试时,在 Visual Studio 中的解决方案资源管理器中会出现一个新的树项。这个新项目称为脚本文档。在它下面,有一个 Windows Internet Explorer 项目,其中包含 localhost 项目......当我打开它时 - 是的,那是当我点击返回按钮时进入 IE 的旧页面!Visual Studio(或 ASP.NET 开发服务器)在哪里存储“localhost”页面?
如何摆脱卡住的页面并阻止 IE(或者也可能是 ASP.Dev 服务器)缓存我的 localhost/首页?如何永久删除该旧页面?
我希望,新页面不会以相同的方式缓存,因为我添加到它...