CRM 4.0 预览视图 (preview.aspx) 缓存在客户端
在 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 的预览.aspx 页面缓存提供受支持的修复? CRM 中几乎所有其他检查的页面都会返回“Cache-Control: no-cache”,因此该文件似乎会覆盖输出标头。
添加了附加信息
此行为仅影响 IE9。要么 IE9 正在处理与 IE8 及之前不同的缓存,要么 IE9 不允许 corss 选项卡/弹出窗口缓存失效。
建议的修补程序(不受支持):将 Preview.aspx 替换为自定义 aspx 文件,该文件使用原始重命名文件并对缓存标头进行手动控制。将缓存头设置为“no-cache”可以解决 IE9 中的此问题。我们选择退出此解决方案,因为它不受支持,但它已经过测试正常,不需要更改 aspx-content,只需要“重新路由”。
When doing updates to accounts in CRM 4.0, the preview does not update unless we clear the client cache. When requesting the preview (which happens when you click the little arrow shown in the screenshot) with URL shown below, the headers shown below are returned.
GET http://crmdev/DevOrg/_grid/preview.aspx?type=1&id={755E4F74-007D-E011-A3BC-005056B6001D} HTTP/1.1
As can be seen from the headers, there is no expiration date/time on the cache.
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
Setting the cache to expire using the method described in the following link has no effect. http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
Does anyone have a supported fix for Dynamics CRM 4.0 regarding the caching of the preview.aspx page? Almost all other examined pages in CRM returns 'Cache-Control: no-cache', so seemingly this file overrides the output header.
ADDITIONAL INFO ADDED
This behavior only affects IE9. Either IE9 is handling the caching unlike IE8 and before or IE9 is not allowing the corss tab/popup cache invalidation.
Suggested hotfix (unsupported): Replace preview.aspx with a custom aspx file that uses the original renamed file and has manual control over the cache header. Setting the cache-header to 'no-cache' solves this issue in IE9. We have opted out of this solution as it is unsupported, but it has been tested ok and requires no altering of aspx-content, only "rerouting".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此行为仅影响 IE9。要么 IE9 正在处理与 IE8 及之前不同的缓存,要么 IE9 不允许交叉选项卡/弹出缓存失效。
建议的修补程序(不支持):将 Preview.aspx 替换为自定义 aspx 文件,该文件使用原始重命名文件并对缓存标头进行手动控制。将缓存头设置为“no-cache”可以解决 IE9 中的此问题。我们选择退出此解决方案,因为它不受支持,但它已经过测试正常,不需要更改 aspx-content,只需要“重新路由”。
This behavior only affects IE9. Either IE9 is handling the caching unlike IE8 and before or IE9 is not allowing the cross tab/popup cache invalidation.
Suggested hotfix (unsupported): Replace preview.aspx with a custom aspx file that uses the original renamed file and has manual control over the cache header. Setting the cache-header to 'no-cache' solves this issue in IE9. We have opted out of this solution as it is unsupported, but it has been tested ok and requires no altering of aspx-content, only "rerouting".