【发布时间】:2011-10-08 13:29:40
【问题描述】:
在 CRM 4.0 中更新帐户时,除非我们清除客户端缓存,否则预览不会更新。当使用如下所示的 URL 请求预览时(当您单击屏幕截图中显示的小箭头时会发生这种情况),将返回如下所示的标题。
GET http://crmdev/DevOrg/_grid/preview.aspx?type=1&id={755E4F74-007D-E011-A3BC-005056B6001D} HTTP/1.1
从标头可以看出,缓存中没有过期日期/时间。
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 1006
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
Persistent-Auth: false
X-Powered-By: ASP.NET
WWW-Authenticate: Negotiate <token removed>
Date: Tue, 19 Jul 2011 13:35:10 GMT
使用以下链接中描述的方法将缓存设置为过期无效。 http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
是否有人为 Dynamics CRM 4.0 提供有关缓存 preview.aspx 页面的支持修复? CRM 中几乎所有其他检查的页面都返回“Cache-Control: no-cache”,因此该文件似乎覆盖了输出标头。
添加了其他信息
此行为仅影响 IE9。与 IE8 及之前的版本不同,IE9 正在处理缓存,或者 IE9 不允许跨页选项卡/弹出式缓存失效。
建议的修补程序(不支持):将 preview.aspx 替换为自定义 aspx 文件,该文件使用原始重命名文件并手动控制缓存头。将缓存头设置为“无缓存”可以解决 IE9 中的这个问题。我们已选择退出此解决方案,因为它不受支持,但它已经过测试,不需要更改 aspx 内容,只需“重新路由”。
【问题讨论】:
-
您是通过 Web 界面还是 Outlook 客户端访问它?还有你在哪个角色?
-
我正在使用 Web 界面,汇总 17。
-
我还测试了将其更改为 'Cache-Control: no-cache' 可以解决此问题。我使用 fiddler 的替换头功能来测试这个。
标签: asp.net iis-7 http-headers dynamics-crm