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