使用 ENS
1.您的应用程序第一次启动时,您尚未检索任何事件且您没有已存储的分页 Cookie。要检索您的首个事件“页面”,请调用“获取事件”操作,并结合您要的“事件类型”以及符合您需要的“起始日期”和“数量限制”组合。例如,您可仅使用“起始日期”参数检索特定日期以来的所有事件,或者使用“数量限制”参数检索特定数量的最近事件。或者您可以将二者结合,检索特定日期之后特定数量限制的事件。您还可以提供“每页事件数”参数,以指定每次调用该服务时您想要检索的事件数量,或者您可以直接略过该参数,以允许“事件通知 Web 服务 (ENS)”自行决定向您发送的事件数。
2. ENS 将针对您指定的“事件类型”回复一组“事件通知”。由于您需要使用分页 Cookie 从您离开位置重新开始并检索额外事件,当您处理完那些事件后,请在安全位置保存分页 Cookie。如果您使用数据库存储事件数据,最好的方法是在数据库事务内处理并存储所有事件,然后也在提交事务之前,将分页 Cookie 存储在同一事务上下文中。这样,如果您的应用程序在处理一组事件时失败,则它能自动返回至您之前的分页 Cookie 并且不会有丢失或遗漏事件的风险。
- 如果“存在更多页面”标记被设置为“是”,则表示有更多有待检索的新事件。在这种情况下,您可能想要立刻调用“获取更多”以检索更多事件。注意:您仍必须等待分页 Cookie 中“退避时间”所指定的时间过去,否则您的调用将被拒绝而您仍需等待。
- 如果“存在更多页面”标记被设置为“否”,则表示没有更多有待检索的新事件。在这种情况下,您需要等待一段时间直至新事件出现。时间的长短由您决定,但需要注意的是:您必须至少等待“退避时间”所规定的时间过去,才能再次使用分页 Cookie。
3. 当您可以调用“获取更多”时,请使用之前调用“获取事件”或“获取更多”时返回的分页 Cookie。为方便起见,您不需要保留“使用期限”和“退避时间”字段,但“分页 Cookie”字段必须在没有被篡改的情况下传回到“获取更多”。与“获取事件”一样,“获取更多”也允许您为“每页事件数”指定一个值来限制每次调用中接收到的事件数量。
4. 返回步骤 2,处理“获取更多”返回的事件。只要您喜欢,可以重复对每个新分页 Cookie 调用“获取更多”并处理检索到的事件这个过程,您将不断地获取进入系统的新事件。
{{comment.user.nickName}} (楼主)
{{comment.time}} 回复({{comment.childAmount}}) 点赞({{comment.voteUpAmount}}) 点赞({{comment.voteUpAmount}})