Да, есть способ указать, как долго данные хранятся в Cache, но ни один из предыдущих 2-х примеров не гарантировал бы, что вы будете хранить ваши вещи в течение ожидаемого количества времени, прошедшего с любым из двух основанных на времени параметры метода Add (абсолютное или скользящее истечение).
Кеш - это просто кеш, и его цель - ускорить процесс. Поэтому не следует ожидать, что они сохранят ваши данные и всегда будут готовы извлечь их, если их там нет.
Как вы, вероятно, знаете, у вас могут быть зависимости для элементов, и они истекают на основании этого, даже если время не истекло. Это простая концепция, но есть и другая, не такая простая. Приоритет.
Исходя из приоритета ваших предметов и в сочетании с нехваткой памяти, вы можете оказаться в ситуации, когда вы кешируете данные с достаточным временем истечения срока действия, основанным на ваших вычислениях, но вы больше не сможете использовать эти данные чем один раз сделать ваш кэш просто накладные расходы в такой ситуации.
РЕДАКТИРОВАТЬ: Ну, я забыл указать фактический способ сохранить элемент в течение необходимого вам времени, и это продукт выбора желаемого срока действия, никакой зависимости вообще, не удаления вручную и используя приоритет NotRemovable. Это также, как состояние сеанса inproc внутренне сохраняется в кэше httpruntime.