如何为OData服务启用缓存?

2020-08-18 13:29发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们在MTA中使用.xsodata文件定义了OData服务。 我们正在SAP Cloud Foundry环境中使用SAP HANA服务。 OData服务的执行需要花费一些时间,我们想知道使用ETag支持启用内容缓存。 问题在于该服务似乎没有在HTTP响应标头中发送ETag属性来启用浏览器的缓存。 如何使OData服务发送ETag?

服务代码如下:

服务{
     " sample.odata.models :: customer"作为" CalcView"
     密钥生成本地" ID"
     总是聚合;
     实体" sample.odata.models :: customer"作为" EtagKeys"
     密钥(" KEY_00")并发令牌;
 }
 设置{
   支持null;
   内容缓存控制"无缓存";
   元数据缓存控制"最大年龄= 86401,必须重新验证";
 }
 

谢谢!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我们在MTA中使用.xsodata文件定义了OData服务。 我们正在SAP Cloud Foundry环境中使用SAP HANA服务。 OData服务的执行需要花费一些时间,我们想知道使用ETag支持启用内容缓存。 问题在于该服务似乎没有在HTTP响应标头中发送ETag属性来启用浏览器的缓存。 如何使OData服务发送ETag?

服务代码如下:

服务{
     " sample.odata.models :: customer"作为" CalcView"
     密钥生成本地" ID"
     总是聚合;
     实体" sample.odata.models :: customer"作为" EtagKeys"
     密钥(" KEY_00")并发令牌;
 }
 设置{
   支持null;
   内容缓存控制"无缓存";
   元数据缓存控制"最大年龄= 86401,必须重新验证";
 }
 

谢谢!

付费偷看设置
发送
2条回答
打个大熊猫
1楼 · 2020-08-18 13:37.采纳回答

你好Ashish,

您是否已经尝试在xsodata工件上使用它:

https://help.sap.com/查看器/4505d0bdaf4948449b7f7379d24d0f0d/2.0.03/zh-CN/17b479e1e928465baa07a5688fd5e355.html

最好的问候,
伊凡

SAP小菜
2楼-- · 2020-08-18 13:55

嗨,伊凡!

对不起,迟到了。

感谢您的详细说明以及如何定义OData服务。 当然,它消除了许多疑问,包括应如何定义key()参数以及ETag的工作。

是的,这不是实现缓存而是处理并发的方法。 我将进一步研究View和查询的内部,以了解执行它为什么需要很长时间。 截至目前,看来NO_CALC_VIEW_UNFOLDING提示正在引起此延迟。

我接受您的反馈作为答案,指导您不要尝试缓存OData响应。

谢谢

Ashish

一周热门 更多>