问题描述
我正在为我们公司开发 SAPUI5 应用程序。该应用程序由我们的 SAP NetWeaver 系统提供服务。
由于应用程序仍在开发中,新功能还需要测试,我们注意到用户并没有立即获得应用程序的更新版本。所以我经常收到关于他们为什么看不到更改的电子邮件,我总是不得不告诉我刷新页面。
有没有办法确保正在加载最新版本的应用程序?
解决方法
嘿,我想说的是 SAP Fiori/SAPUI5 中的缓存管理:
SAP Fiori 中的缓存管理
有不同的层来处理缓存:
- 浏览器本身HTTP caching
- 您的前端服务器 (ICM) - 如果您查看事务
SMICM
,例如您可以看到 UI5 应用程序的视图/控制器在有效期内存储 - 后端服务器(仅限您的服务/服务定义的元数据缓存)
Good blog post about Cache Management in SAP Fiori
解决方案:
- 当通过 WEBIDE 部署您的 UI5 应用程序时,app_index 会被计算出来。有时这会失败。所以之前说立即测试!在前端服务器中为您的特定 SAPUI5 应用程序运行报告
/UI5/APP_INDEX_CALCULATE
。 - 如果您的 OData 服务发生更改,则在前端服务器中运行事务
/IWFND/CACHE_CLEANUP
,在后端服务器中运行事务/IWBEP/CACHE_CLEANUP
。 - 对于开发和质量管理系统中的我自己,如果更改后的翻译
SE63
没有显示,我有时会运行报告/UI2/INVALIDATE_CLIENT_CACHES
。
因此,在开发和质量管理系统中,只需运行 /UI5/APP_INDEX_CALCULATE
和 /UI2/INVALIDATE_CLIENT_CACHES
,您就可以开始使用了。
在生产环境中请注意,缓存完全与性能有关,因此如果您清除所有缓存并且您的公司有大约 500 名用户在上午 08:00 打开 Fiori Launchpad,事情可能会变得一团糟。