gpt4 book ai didi

performance - 最小化大页面的 JSF ViewState

转载 作者:行者123 更新时间:2023-12-02 11:07:51 25 4
gpt4 key购买 nike

我目前正在开发一个采用每个应用单页设计的JSF应用程序,例如桌面应用程序。这些部分放置在选项卡中,并且每个子操作(例如编辑或插入项目)都显示在对话框中。

问题出在 ViewState 的大小和每个请求的处理时间上。目前,POST 中 ViewState 的初始大小为 200kb(并且启用了压缩)。请求持续 200 到 400 毫秒(在我自己的机器上,除了我之外没有其他用户)。

将状态保存设置为 session 大大减少了请求,但大大增加了处理时间 - 现在从 350 毫秒增加到 600 毫秒。因为这是内网应用,网络传输比较便宜,所以发送的越多,处理的时间就越长。

我不知道如何处理这个问题。是否可以减少 JSF 组件占用的空间?它们中的大多数不会在每次点击时发生变化,但它们似乎无论如何都会被反序列化和处理。或者我应该丢弃 JSF bean 中的所有数据(例如下拉列表的字典)并在服务层中使用密集缓存?或者我可以使用其他选项/技巧/改进?

最佳答案

正如您已经发现的,整个表单的 View 状态在每次异步回发时都会被序列化,以便服务器和客户端可以保持同步。 ASP.NET 的工作方式几乎完全相同。

Primefaces 团队已向许多支持 Ajax 的组件添加了允许部分页面帖子的功能。

http://blog.primefaces.org/?p=1842

partialSubmit属性只会序列化 process 中指定的表单元素。组件的属性或 <p:ajax> 。当然,这只是 Primefaces 组件的一个解决方案,但它显着减少了我的一些较大 JSF 页面上的请求大小。

关于performance - 最小化大页面的 JSF ViewState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14518659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com