MemoryCache.AddOrGetExisting Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вставляет запись кэша в кэш.
Перегрузки
AddOrGetExisting(CacheItem, CacheItemPolicy) |
Добавляет запись в кэш, используя указанный экземпляр CacheItem и сведения о способе удаления записи. |
AddOrGetExisting(String, Object, DateTimeOffset, String) |
Добавляет запись в кэш, используя заданную пару "ключ-значение" и абсолютное значение срока действия. |
AddOrGetExisting(String, Object, CacheItemPolicy, String) |
Вставляет запись в кэш, используя указанную пару "ключ-значение" и заданные сведения о методе ее вытеснения. |
Комментарии
Перегрузки AddOrGetExisting метода используются для вставки записи кэша в кэш. Если запись кэша с совпадающим ключом не существует, эти методы вставляют новую запись. Если запись кэша с совпадающим ключом уже существует, они возвращают существующую запись.
AddOrGetExisting(CacheItem, CacheItemPolicy)
- Исходный код:
- MemoryCache.cs
- Исходный код:
- MemoryCache.cs
- Исходный код:
- MemoryCache.cs
Добавляет запись в кэш, используя указанный экземпляр CacheItem и сведения о способе удаления записи.
public:
override System::Runtime::Caching::CacheItem ^ AddOrGetExisting(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override System.Runtime.Caching.CacheItem AddOrGetExisting (System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.AddOrGetExisting : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> System.Runtime.Caching.CacheItem
Public Overrides Function AddOrGetExisting (item As CacheItem, policy As CacheItemPolicy) As CacheItem
Параметры
- item
- CacheItem
Добавляемый объект.
- policy
- CacheItemPolicy
Объект, содержащий сведения о вытеснении для записи кэша. Этот объект предоставляет больше параметров для вытеснения, чем простой абсолютный срок действия.
Возвращаемое значение
Существующая запись кэша, если имеется запись кэша с таким же ключом; в противном случае — значение null
.
Исключения
Значение свойства Value — null
.
Как абсолютное, так и скользящее значение срока действия для объекта CacheItemPolicy устанавливаются отличными от значений полей InfiniteAbsoluteExpiration и NoSlidingExpiration по умолчанию. Класс MemoryCache не может установить политику ограничения срока действия, основываясь на комбинации абсолютного срока действия и скользящего срока действия. Только один параметр срока действия можно задать явным образом при использовании экземпляра MemoryCache. Другому параметру срока действия должно быть присвоено поле InfiniteAbsoluteExpiration или поле NoSlidingExpiration.
Для свойства SlidingExpiration задано значение меньше Zero.
-или-
Для свойства SlidingExpiration задано значение, превышающее один год.
-или-
Свойство Priority не является значением перечисления CacheItemPriority.
Комментарии
Параметр item
предоставляет ключ и значение, используемое методом . Если в кэше есть запись кэша с тем же ключом, что и ключ item
параметра, метод возвращает существующую запись в виде экземпляра CacheItem . Если существующей записи кэша нет, метод создает новую, используя ключ и значение, предоставленные item
параметром , и со сведениями о вытеснениях, указанными в параметре policy
.
Предупреждение
Перегрузки методов Add и AddOrGetExisting не поддерживают свойство UpdateCallback. Таким образом, чтобы задать свойству UpdateCallback запись кэша, используйте перегрузки метода Set.
Применяется к
AddOrGetExisting(String, Object, DateTimeOffset, String)
- Исходный код:
- MemoryCache.cs
- Исходный код:
- MemoryCache.cs
- Исходный код:
- MemoryCache.cs
Добавляет запись в кэш, используя заданную пару "ключ-значение" и абсолютное значение срока действия.
public override object AddOrGetExisting (string key, object value, DateTimeOffset absoluteExpiration, string regionName = default);
override this.AddOrGetExisting : string * obj * DateTimeOffset * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, absoluteExpiration As DateTimeOffset, Optional regionName As String = Nothing) As Object
Параметры
- key
- String
Уникальный идентификатор записи кэша, которую необходимо добавить.
- value
- Object
Данные для записи кэша.
- absoluteExpiration
- DateTimeOffset
Фиксированные дата и время истечения срока действия записи кэша.
- regionName
- String
Именованная область кэша, в которую можно добавить запись кэша. Не следует передавать значение для данного параметра. По умолчанию значение этого параметра равно null
, так как класс MemoryCache не реализует области.
Возвращаемое значение
Существующая запись кэша, если имеется запись кэша с таким же ключом; в противном случае — значение null
.
Исключения
value
не является null
.
regionName
не является null
.
Как абсолютное, так и скользящее значение срока действия для объекта CacheItemPolicy устанавливаются отличными от значений полей InfiniteAbsoluteExpiration и NoSlidingExpiration по умолчанию. Класс MemoryCache не может установить политику ограничения срока действия, основываясь на комбинации абсолютного срока действия и скользящего срока действия. Только один параметр срока действия можно задать явным образом при использовании экземпляра MemoryCache. Другому параметру срока действия должно быть присвоено поле InfiniteAbsoluteExpiration или NoSlidingExpiration.
Для свойства SlidingExpiration задано значение меньше Zero.
-или-
Для свойства SlidingExpiration задано значение, превышающее один год.
-или-
Свойство Priority не является значением перечисления CacheItemPriority.
Комментарии
Если в кэше нет записи кэша, ключ которой соответствует параметру key
, создается новая запись кэша, и перегрузка MemoryCache.AddOrGetExisting метода возвращает значение null
. Если соответствующая запись кэша существует, возвращается существующая запись.
Предупреждение
Перегрузки методов Add и AddOrGetExisting не поддерживают свойство UpdateCallback. Таким образом, чтобы задать свойству UpdateCallback запись кэша, используйте перегрузки метода Set.
Применяется к
AddOrGetExisting(String, Object, CacheItemPolicy, String)
- Исходный код:
- MemoryCache.cs
- Исходный код:
- MemoryCache.cs
- Исходный код:
- MemoryCache.cs
Вставляет запись в кэш, используя указанную пару "ключ-значение" и заданные сведения о методе ее вытеснения.
public override object AddOrGetExisting (string key, object value, System.Runtime.Caching.CacheItemPolicy policy, string regionName = default);
override this.AddOrGetExisting : string * obj * System.Runtime.Caching.CacheItemPolicy * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, policy As CacheItemPolicy, Optional regionName As String = Nothing) As Object
Параметры
- key
- String
Уникальный идентификатор записи кэша, которую требуется добавить или получить.
- value
- Object
Данные для записи кэша.
- policy
- CacheItemPolicy
Объект, содержащий сведения о вытеснении для записи кэша. Этот объект предоставляет больше параметров для вытеснения, чем простой абсолютный срок действия.
- regionName
- String
Именованная область кэша, в которую можно добавить запись кэша. Не следует передавать значение для данного параметра. По умолчанию значение этого параметра — null
, так как класс MemoryCache не реализует области.
Возвращаемое значение
Запись кэша, если соответствующая запись кэша уже существует; в противном случае — значение null
.
Исключения
value
имеет значение null
.
Как абсолютное, так и скользящее значение срока действия объекта CacheItemPolicy устанавливаются отличными от значений полей InfiniteAbsoluteExpiration и NoSlidingExpiration по умолчанию. Класс MemoryCache не может установить политику ограничения срока действия, основываясь на комбинации абсолютного и скользящего сроках действия. Только один параметр срока действия можно задать явным образом при использовании класса MemoryCache. Другую настройку необходимо установить как InfiniteAbsoluteExpiration или NoSlidingExpiration.
-или-
Для CacheItemPolicy указаны как обратный вызов удаления, так и обратный вызов обновления. MemoryCache поддерживает использование только одного типа обратного вызова для записи кэша.
Для свойства SlidingExpiration задано значение меньше Zero.
-или-
Свойству SlidingExpiration присвоено значение, большее, чем один год.
-или-
Свойство Priority не является значением перечисления CacheItemPriority.
Комментарии
Предупреждение
Перегрузки методов Add и AddOrGetExisting не поддерживают свойство UpdateCallback. Таким образом, чтобы задать свойству UpdateCallback запись кэша, используйте перегрузки метода Set.