C # предотвратить ненужные вызовы API - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть 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 () или аналогичный?

...