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