我们最近已经开始将我们的一些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
但是在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
如您所见,Cache-Control,Etag,Expires和Last-Modified标题已被删除.
我已经看到关于静态内容的缓存的一些建议,但我不认为这些将有助于这种情况.是否是Azure CDN的结构以这种方式阻止缓存的情况?应该使用Azure blob吗?是否有可能被忽视的基本配置更改?
提前致谢