我们使用客户门户网站的代码开发了一个门户网站。但我们还没有在CRM服务器上使用客户门户解决方案。一切正常,除了缓存阻止更新显示在门户上。
在CRM 4中,我使用了此解决方案http://pogo69.wordpress.com/2010/11/05/caching-revisited-crm-4-0-sdk-advanced-developer-extensions/。但这在CRM 2011中不起作用,因为Microsoft.Xrm.Client.Caching是不同的。如何清除2011年的缓存?
非常感谢任何帮助或想法。
谢谢!
答案 0 :(得分:1)
确保您配置了缓存失效网址。 PRM门户网站的服务使任何更新/创建事件(由在所有实体上注册的插件管理)使缓存无效。
转到设置 - > Web通知URL,更新Cache.axd文件的URL或创建新条目。
如果这一切都到位,我会确保负责调用缓存失效的插件正在工作/注册。
希望有所帮助
答案 1 :(得分:1)
有关Web通知URL的详细信息,请参阅以下文章。
答案 2 :(得分:0)
我发现删除了 preloadcache 参数&来自URL的值绕过CRM的缓存。不理想,但它奏效了。你的里程可能会有所不同......
<script type="text/javascript">
bypassCrmPreloadCache(); // DE_WR_15706 Bypass 30sec cache to get latest version #
function bypassCrmPreloadCache() {
var ParentURL = window.parent.location.href;
var nStartPreloadcache = ParentURL.indexOf("preloadcache");
if (nStartPreloadcache > 0) {
// Parent URL is cached
var nEnd = ParentURL.indexOf("&", nStartPreloadcache);
if (nEnd == -1) { // Special case: no ampersand => preloadcache is last argument.
nEnd = ParentURL.length; // End of URL is end of preloadcache's value.
}
var strPreloadCacheParamAndValue = ParentURL.substr(nStartPreloadcache, 1 + nEnd - nStartPreloadcache);
// Remove preloadcache-parameter from URL
ParentURL = ParentURL.replace(strPreloadCacheParamAndValue, "");
if (ParentURL.charAt(ParentURL.length-1) == '&')
ParentURL = ParentURL.slice(0, -1); // Ensure URL not terminated by an unnecessary '&'.
// Load URL in parent Window, bypassing the cache
window.open(ParentURL, "_parent");
}
}
</script>