Как только у вас есть метод расширения, его очень просто использовать (не забудьте перенести статический класс, который вы определили, метод GetOrStore
в область, добавив директиву using в пространство имен, в котором он содержится, или вы выиграли » не сможет увидеть метод расширения GetOrStore<T>
):
IEnumerable<string> addresses = HttpRuntime
.Cache
.GetOrStore<IEnumerable<string>>(
"addresses",
() => repository.GetAllAddresses().ToArray()
);
На что обратить внимание:
- Мы используем «адреса» в качестве ключа кеша, поэтому результат будет храниться под этим ключом.
- Мы вызываем
.ToArray()
на IQueryable<string>
, чтобы охотно получить адреса и сохранить результаты в кеше, а не в запросе.