我理解ICEPush的基本功能:客户端订阅,服务器在有新数据时通知订阅者,然后客户端通过ajax请求有效负载。这可以很好地工作,但在某些情况下会出现性能问题。
假设我有一个页面,它跟踪对几个项目的更改。例如,我在服务器上订阅了一个名为"ItemChange“的ICEPush事件。每当服务器上的进程更改"Item“实体时,都会触发此"ItemChange”事件。现在假设用户正在跟踪id为2和3的条目,然后在服务器上发生了一个更改id为5的条目的事件。然后,服务器将通知一个"ItemChange“事件,这将使客户端请求一个对它没有用处的有效负载,因为它不会跟踪条目5。这种情况会导致对服务器的许多不必要的调用。
我一直在寻找一种方法来规避这个问题,但我还没有找到任何东西。如果我可以随通知一起发送一个参数,我可以简单地传递更改的项的id,这样客户机就会知道它是否需要请求有效负载,但似乎没有办法做到这一点。欢迎提出任何建议,谢谢。
发布于 2012-09-04 01:23:12
通常,最好的方法是使用多个PUSHID。你把这个用在ICEfaces上了吗?您希望每页有多少个项目?这些项目是否有任何自然的分组?
https://stackoverflow.com/questions/12042245
复制相似问题