在SAPUI5上的第二次POST请求中性能缓慢
世界上的SAPUI5社区太小了,所以我需要看看是否有人能帮我解决这个问题,或者解释下一步可能发生的事情 我有一个UI5应用程序,它使用oDataModel使用网关服务, 当我尝试发出POST请求时,服务响应非常快,但当我第二次调用同一服务时,请求的次数急剧增加,如200%最奇怪的是,第一个请求和第二个请求是相同的。 在我的浏览器中,第一个请求的成功时间约为10秒,而第二个请求(与第一个请求相同)的成功时间为2-3分钟 在我的浏览器中,第二个请求以“挂起”状态出现2-3分钟,但在网关中,请求在大约20秒内正确完成 这是我第一次和第二次称oDataModel的方式 服务在SAPUI5上的第二次POST请求中性能缓慢,sapui5,sap-gateway,Sapui5,Sap Gateway,世界上的SAPUI5社区太小了,所以我需要看看是否有人能帮我解决这个问题,或者解释下一步可能发生的事情 我有一个UI5应用程序,它使用oDataModel使用网关服务, 当我尝试发出POST请求时,服务响应非常快,但当我第二次调用同一服务时,请求的次数急剧增加,如200%最奇怪的是,第一个请求和第二个请求是相同的。 在我的浏览器中,第一个请求的成功时间约为10秒,而第二个请求(与第一个请求相同)的成功时间为2-3分钟 在我的浏览器中,第二个请求以“挂起”状态出现2-3分钟,但在网关中,请求在大约
var oModel = new sap.ui.model.odata.ODataModel(serviceUrl);
oModel.headers = {
"X-Requested-With": "XMLHttpRequest",
"Accept": "application/atom+xml,application/atomsvc+xml,application/xml,application/atom+xml",
"Content-Type": "application/atom+xml",
"DataServiceVersion": "2.0"
};
oModel.setCountSupported(false);
oModel.setSizeLimit(this._maxSize);
oModel.attachRequestFailed(this.showLoadError);
然后,在我的控制器中,我执行以下操作
控制器
function initializeOrders(){
var oParameters = {
Lgnum: localStorage.Yard,
PlanStatus: "",
Orders: [{}],
Transports: [{}]
};
oModel.create("/IncomingSet", oParameters,
null,
jQuery.proxy(this._readODataOnSuccess, this),
jQuery.proxy(this._readODataOnError, this)
)}
此initializeOrders函数在应用程序启动时执行,如果有更改,则在我希望刷新应用程序信息时也会执行
如果有人能帮我解决这个问题,我将非常感激,因为不是在sap论坛上,我没有发现任何好的东西我发现了问题,是一些控件的渲染,但是chrome控制台因此显示为挂起。作为所有发现此问题的人的解决方案,必须关闭此窗口: -如果您的控件使用来自服务的大量数据,请始终尝试按需使用该控件,该数据量可能会阻塞浏览器的内存。在本例中,一个动态组合框使用模型 最佳实践是在需要时设置模型
也许是Chrome的bug,或者我不知道,嗯。。。它解决了。。。解决这个问题需要两周。我不是UI5的人,但您是否尝试过在浏览器和服务器之间放置fiddler代理,以查看请求是否完全相同,以及结果是服务器端还是客户端的延迟?您正在使用的ODataModel。它以同步方式而不是异步方式发送许多请求,这可能是性能不佳的原因之一。试着把它换成。请注意,有些设置在默认情况下处于活动状态,例如
useBatch
。我使用的是SAPUI5的1.38.7版,因此我的ODataModel尚未被弃用,但如果v2工作得更好,我会尝试。尝试使用新版本的ODataModel,但不起作用。。。也许这是一个网关问题。该模型已经过验证(即使在1.38.7中)。除此之外,如果迁移到v2.ODataModel,会出现什么样的错误?