C#防止不必要的API调用

时间:2018-12-22 18:15:13

标签: c# ienumerable api-design

我有一个api,它可以提取页面中的数据并将其发送回客户端。如果客户端多次遍历返回的集合,则我想防止再次调用api

var actualItems = _pagedApiCollection.GetItems<Foo>().ToArray();

调用api

public IEnumerable<Foo> GetItems<Foo>() {
  Page currentPage;
  do
  {
    currentPage =  _pagedApi.GetNextPage(reqid);

    foreach (var item in currentPage)
        yield return (Foo)item;

  } while (currentpage.HasNextPage);
}

IE如何向

附加拨打电话
_pagedApiCollection.GetItems<Foo>().ToArray()

是否无法获取新页面?可以缓存结果到Dispose()或类似的属性吗?

0 个答案:

没有答案