如何为ASP.NET MVC Web应用程序中使用的图像添加缓存?
发布时间:2020-12-16 07:02:07 所属栏目:asp.Net 来源:网络整理
导读:我已经阅读了这篇 http://madskristensen.net/post/add-expires-header-for-images和 https://technet.microsoft.com/en-us/library/cc770661.aspx以及其他类似的文章,他们建议把这个 staticContent clientCache httpExpires="Sun,29 Mar 2020 00:00:00 GMT"
我已经阅读了这篇
http://madskristensen.net/post/add-expires-header-for-images和
https://technet.microsoft.com/en-us/library/cc770661.aspx以及其他类似的文章,他们建议把这个
<staticContent> <clientCache httpExpires="Sun,29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" /> </staticContent> 但即使在那之后,图像也没有从缓存中获取并且发送了200 ok响应,这就是对服务器的请求.我想要x小时/天没有要求,因为这些图像很长时间都不会改变. 我该怎么做呢 ? 解决方法
以下配置应使浏览器将图像缓存整整一年:
<staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" /> </staticContent> <httpProtocol> <customHeaders> <add name="Cache-Control" value="public" /> </customHeaders> </httpProtocol> 您只需确保将图像作为静态文件类型提供.没有办法强迫浏览器不向服务器发送请求,即;用户表现得很辛苦. 您可以将上述配置包装在位置节点中,以便仅影响特定路径中站点的图像: <location path="Content"> <system.webServer> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" /> </staticContent> <httpProtocol> <customHeaders> <add name="Cache-Control" value="public" /> </customHeaders> </httpProtocol> </system.webServer> </location> 上述配置将为http://www.example.com/Content/Images/ *上托管的所有图像添加HTTP缓存头指令 您应该创建一个可配置的appsetting,它作为查询字符串参数传递给这样的图像URI.这将允许您清除所有客户端以从服务器发送请求图像:(我们希望控制这个,因为缓存的图像可能有问题) <img src="/Content/Images/MyImage.jpg?version=<%# Global.ImageVersion %>" /> 有关缓存标头(Cache-Control)的更多信息,请参见http://www.mobify.com/blog/beginners-guide-to-http-cache-headers/ 我希望有所帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Oracle Managed Dataacess EF6自定义edm映射不适
- IIS如何处理ASP.net MVC请求?
- 如何在asp.net中获取服务器/网站的IP地址?
- 用于创建ASP.NET成员资格提供程序用户的脚本
- 在ASP.Net中获取会话ID
- asp.net – 在打开和打印多个记录时强制HTML / ASP中的分页
- 使用ASP.NET卷曲请求
- asp.net-mvc – ASP.NET MVC:默认页面上的AuthorizeAttrib
- asp.net – 通过IP地址在IIS 6中调节Bandands
- asp.net – 如何为Katana/Owin自主托管应用程序设置默认静态
推荐文章
站长推荐
- asp.net jquery ajax json:交换数据的简单例子
- Asp.Net Core 2.0 多角色权限认证
- 如何使用参数初始化ASP.NET用户控件?
- asp.net-mvc-3 – 当调用Controller.PartialView
- asp.net-mvc – 我可以避免使用NuGet检入MVC3项目
- asp.net-mvc – 使用路由操作URL
- asp.net-mvc – 从.Net MVC View获取HTML而不实际
- 为ASP.NET/ASP.NET MVC配置IIS(Windows 7)3
- asp.net-core – Asp.Net 5中的自定义ClaimsPrin
- asp.net-core – 哪些所有类型的HTTP头都在ASP.N
热点阅读