客户端未在IIS 7.5中加载新内容

问题描述 投票:3回答:4

我们在Windows Server 2008 R2计算机上的IIS 7.5上托管了asp.net 4.0网站。问题是客户端正在获取旧内容,但服务器已更新副本。客户端每次都需要按Ctrl + F5才能获取最新内容。即使在网格上进行数据更新的情况下,客户端仍然会获得IFRAME中显示的旧数据。

可能是什么原因?任何的想法??这是Cache的问题吗?

任何形式的协助将不胜感激..

asp.net caching iframe iis-7.5
4个回答
6
投票

页面输出缓存在浏览器请求后,在内存中存储动态页面(如ASP页面或ASP.NET页面)的响应。当后续请求到达页面时,服务器发送缓存的响应,而不是重新处理页面。

查看这篇文章,它可能对您有所帮助。

http://www.iis.net/ConfigReference/system.webServer/caching

这些链接也会对您有所帮助

http://learn.iis.net/page.aspx/710/configure-iis-7-output-caching/

https://serverfault.com/questions/126914/output-caching-with-iis7-how-to-for-an-dynamic-aspx-page

IIS7: set "no-cache" for all aspx pages but not images/css/js

https://superuser.com/questions/63014/how-do-i-turn-off-caching-in-iis7


2
投票

Muzammil,请检查此链接以禁用IIS 7+中的缓存。该链接将向您展示如何禁用JS文件的缓存,但您可以对要禁用缓存的任何文件类型执行此操作。

使用IIS7防止JavaScript文件的积极缓存

http://marvelley.com/2011/04/07/preventing-aggressive-caching-of-javascript-files-with-iis7/


0
投票

在我的情况下,我使用Chrome Developer Tool查看IIS上托管的Html文件的源代码,当我修改html文件并刷新IIS网站时,刷新浏览器后,Chrome中的源代码显示未被修改。

一开始我猜它是IIS缓存,但在我尝试其他答案中的链接后,它确实没有用:https://superuser.com/questions/63014/how-do-i-turn-off-caching-in-iis7

最后,我转到Chrome设置并清除Chrome文件缓存,html源代码已成功更改。所以在我的情况下它是由Chrome的Cache引起的,希望它对某人有所帮助。


-2
投票

这是我发现的,有一个HTTPCompression设置可能将sendCacheHeading设置为true。我在applicationHost.config文件中找到了这个并在那里进行了更改但是也可以使用配置编辑器在IIS中进行更改。

例:

如果要通过IIS更改此选项,请选择配置编辑器,然后单击顶部的下拉箭头并展开system.webserver,然后选择httpCompression。

Per Laurenz请求我复制了我在配置文件中找到的文本版本以及我将其更改为:

原版的: <httpCompression sendCacheHeaders =“true”directory =“C:\ Windows \ IIS Temporary Compressed Files”maxDiskSpaceUsage =“1000000”noCompressionForProxies =“false”noCompressionForRange =“true”>

变成: <httpCompression directory =“%SystemDrive%\ inetpub \ temp \ IIS Temporary Compressed Files”>

© www.soinside.com 2019 - 2024. All rights reserved.