asp.net – 自动刷新浏览器缓存
如果我听起来无知,这是我从来没有遇到过的事情,所以请原谅我.
我遇到的基本问题是,在Visual Studio 2010中工作时,我所做的任何更改似乎都会被某种缓存所捕获. 例如,我将对页面进行更改,运行解决方案,然后我必须按Ctrl F5强制刷新缓存以查看更改.这是ASP.NET / HTML / CSS& JavaScript代码.一样. 在过去,Visual Studio过去只是在每次运行时清除缓存,所以至少可以说我有点沮丧. 此外,当我将解决方案部署到IIS服务器时,用户也会遇到同样的情况.即使ASP.NET页面上有更改,用户也会继续提升缓存版本,直到清除缓存为止.我通过使用版本号重命名文件(尤其是javascript)来缓解此问题,因此客户端始终将它们视为新文件并加载而不是从缓存加载. Visual Studio或web.config中是否有可能导致此问题的设置? 编辑:这是我的web.config文件 <configuration> <system.web> <sessionState cookieless="UseCookies" timeout="1440" mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"/> <compilation debug="true" targetFramework="4.0"> <assemblies> <add assembly="System.Design,Version=4.0.0.0,Culture=neutral,PublicKeyToken=xxx"/> <add assembly="System.Web.Extensions.Design,PublicKeyToken=xxx"/> <add assembly="System.Windows.Forms,PublicKeyToken=xxx"/> </assemblies> </compilation> <authentication mode="Windows"/> <pages> <controls> <add tagPrefix="ajaxtoolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolKit"/> </controls> </pages> </system.web> <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="50000000"/> </webServices> </scripting> </system.web.extensions> </configuration> 解决方法
Web资源(Css,Js,Images甚至Html)需要花时间通过网络下载,这会增加加载网页所需的时间(Steve Souders建议它需要近80%,见
here). HTTP缓存允许浏览器或代理保存或缓存这些资源.资源缓存后,浏览器或代理可以引用本地缓存的副本,而不必在后续访问网页时再次下载.
浏览器缓存可由HTTP缓存标头控制(请参阅快速概述here) 所以,这不是因为Visual Studio或asp.net,而是因为浏览器. 希望有很多方法可以在服务器端(仅用于测试目的)或在客户端(重新启动和绕过缓存)禁用缓存. 以下是一些可能性: 使用asp.net 您可以使用此代码显式禁用浏览器缓存 // Stop Caching in IE Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); // Stop Caching in Firefox Response.Cache.SetNoStore(); 警告:仅在本地进行测试! 此外,许多捆绑系统允许您控制缓存设置. 在浏览器上 有许多快捷方式可以重新加载页面并绕过缓存: > Chrome:Shift重新加载按钮 还有很多方法可以完全禁用浏览器上的缓存. > IE:工具?Internet选项?临时Internet文件?设置?检查存储页面的新版本 Wikipedia has a great list . (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何在asp.net mvc中模拟缓存对象?
- asp.net – System.Json.DLL在哪里?
- c# – 因为算法不同,客户端和服务器无法通信
- asp.net – 无法从App.Config中检索密钥
- 为什么在手动刷新响应时ASP.NET将使用Transfer-Encoding头替
- asp.net-mvc – 在MVC4中为ViewModel设置默认值的适当方法?
- asp.net-mvc-3 – 使用ViewModel和html类属性设置的日期格式
- ASP.NET Web应用程序体系结构/模式
- ASP.NET IIS – 请求什么时候排队?
- asp.net-mvc – 在ASP.NET MVC项目和Cordova项目之间共享代