wol*_*yuk 12 iis asp.net-mvc caching azure
我们最近开始将一些ASP.NET MVC网站从我们自己的托管环境迁移到Azure.我们看到的一个问题是,在提供动态创建的内容时,客户端缓存似乎无法正常工作.具体而言,将删除在代码中添加到HTTP响应的与缓存相关的标头.
例如,在旧环境中返回以下标头,以便建议客户端可以缓存内容:
Cache-Control: public, max-age=31533144
Content-Disposition: attachment; filename=picture.png
Content-Length: 64326
Content-Type: image/png
Date: Tue, 23 Jul 2013 15:44:57 GMT
Etag: "845D3DD630A7AEF5B68EA7A09B670A4D"
Expires: Fri, 23 Aug 2013 14:57:22 GMT
Last-Modified: Tue, 23 Jul 2013 14:57:22 GMT
Server: Microsoft-IIS/7.5
Run Code Online (Sandbox Code Playgroud)
但在Azure上,将返回以下标头:
Content-Disposition: attachment; filename=picture.png
Content-Length: 64326
Content-Type: image/png
Date: Tue, 23 Jul 2013 15:44:57 GMT
Server: Microsoft-IIS/8.0
X-Powered-By: ARR/2.5, ASP.NET
Run Code Online (Sandbox Code Playgroud)
正如你所看到的Cache-Control,Etag,Expires和Last-Modified头已被丢弃.
我已经看到了一些关于静态内容缓存的建议,但我不相信这些会对这种情况有所帮助.Azure CDN的结构是否会以这种方式阻止缓存?是否应该使用Azure blob?是否存在可能被忽略的基本配置更改?
提前致谢
X-Powered-By: ARR/2.5, ASP.NET
Run Code Online (Sandbox Code Playgroud)
ARR 代表应用程序请求路由。
转到 inetmgr UI 并单击服务器名称,您将找到“应用程序请求路由缓存”选项。
您将看到“缓存配置”,检查那里的选项。另外,检查“缓存控制规则”。单击“添加规则...”并尝试使用它。
| 归档时间: |
|
| 查看次数: |
887 次 |
| 最近记录: |