gpt4 book ai didi

asp.net-mvc - Azure 托管的 ASP.NET MVC 站点删除与客户端缓存相关的 HTTP header

转载 作者:行者123 更新时间:2023-12-04 01:14:39 25 4
gpt4 key购买 nike

我们最近开始将一些 ASP.NET MVC 网站从我们自己的托管环境迁移到 Azure。我们看到的问题之一是,在交付动态创建的内容时,客户端缓存似乎无法正常工作。具体来说,代码中添加到 HTTP 响应中的与缓存相关的 header 将被删除。

例如,在旧环境中返回以下 header ,以告知客户端内容可能会被缓存:

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 上,会返回以下 header :

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-ControlEtagExpiresLast-Modified header 具有已被删除。

我已经看到了许多有关静态内容缓存的建议,但我不认为这些建议对这种情况有帮助。 Azure CDN 的结构是否会阻止以这种方式进行缓存?应该改用 Azure blob 吗?是否存在可能被忽视的基本配置更改?

提前致谢

最佳答案

X-Powered-By:           ARR/2.5, ASP.NET

ARR 代表应用程序请求路由。

转到 inetmgr UI 并单击服务器名称,您将找到“应用程序请求路由缓存”选项。

您将看到“缓存配置”,检查那里的选项。另外,检查“缓存控制规则”。单击“添加规则...”并尝试使用它。

关于asp.net-mvc - Azure 托管的 ASP.NET MVC 站点删除与客户端缓存相关的 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17815319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com