0

好吧,我了解 ICEPush 的基本功能:客户端订阅,服务器在有新数据时通知订阅者,然后客户端通过 ajax 请求有效负载。这工作得很好,但在某些情况下会出现性能问题。

假设我有一个页面正在跟踪对多个项目的更改。例如,我在名为“ItemChange”的服务器上订阅了一个 ICEPush 事件。每次服务器上的进程更改“Item”实体时,都会触发此“ItemChange”事件。现在假设用户正在跟踪 id 为 2 和 3 的项目,然后服务器上发生更改 id 为 5 的项目的事件。然后服务器将通知“ItemChange”事件,这将使客户端请求一个有效负载,即对它没用,因为它没有跟踪项目 5。这种情况会导致对服务器的大量不必要的调用。

我一直在寻找一种方法来规避这个问题,但我还没有找到任何东西。如果我可以随通知一起发送一个参数,我可以简单地传递更改的项目的 id,因此客户端会知道它是否需要请求有效负载,但似乎没有办法做这个。欢迎任何建议,谢谢。

4

1 回答 1

0

通常最好的方法是使用多个 PUSHID。您是否将其与 ICEfaces 一起使用?您希望每页有多少项目?项目是否有任何自然分组?

于 2012-09-03T17:23:12.317 回答