5

我创建了一个基于 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/首页?如何永久删除该旧页面?

我希望,新页面不会以相同的方式缓存,因为我添加到它...

4

1 回答 1

0

添加

<meta http-equiv="CACHE-CONTROL" content="NO-CACHE"/>
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">
于 2012-09-20T13:19:25.420 回答