如何处理多页REST回复
本文关键字:REST 回复 处理 何处理 | 更新日期: 2023-09-27 18:01:01
我有一个WP7 silverlight(技术可能相关,也可能不相关(应用程序,它为类似的数据调用多个(10个或更多(REST web服务,并将它们放在一个集合中。数据本身与问题无关。
当回复有多个页面时,我该如何处理REST服务。我的意思是,我所称的所有这些服务都用数据回复,但顶部写着"第1页,共11页"。所以我不得不一次又一次地用类似&page=1…&page=2…我发现为它编写一个自定义框架很痛苦,而且可能有点脆弱。基本上,我有一个线程,它最初访问所有服务,然后找出有多少页面。从那以后我不知道该怎么办。我不知道从那里派生线程的最佳方法。
有没有最好的实践,甚至可能是我可以遵循的框架工作?
您应该使用简单的请求-在wp7上,它们是异步的,因此您必须执行以下操作:
- 获取页数,将其存储在TOTAL_NUM中,设置NUM=1
- 调用请求在PAGE上获取数据==NUM
- 当req返回时,解析它,如果NUM!=TOTAL_NUM然后转到第2页
类似这样的东西:
public void FetchData(int pageNum)
{
Uri address = ...;
var request = WebRequest.Create(address);
// ... init request
request.BeginGetRequestStream(asyncResp => {
var response = (WebResponse) request.EndGetResponse(asyncRes);
ParseAndSave(response, pageNum);
NUM++;
if (NUM != TOTAL_NUM)
FetchData(NUM);
}, null);
}
请记住,我没有编译它或其他什么。。。这可能不是最好的方法,但应该以最小的努力工作:(