MemoryCache.Dispose Метод

Определение

Освобождает все ресурсы, используемые текущим экземпляром MemoryCache класса.

public:
 virtual void Dispose();
public void Dispose();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

Реализации

Комментарии

Каждый MemoryCache экземпляр привязан к событию AppDomainUnloaded . Однако во время завершения работы домена приложения, если кэш на основе памяти не был явно удален, экземпляр кэша будет автоматически вызывать Dispose метод.

Экземпляр удаленного кэша завершает работу, выполнив следующие действия.

  1. Состояние кэша определяется, что кэш удаляется. Любая попытка вызвать открытые методы кэширования, которые изменяют состояние кэша, такие как методы, которые добавляют, удаляют или извлекают записи кэша, могут привести к неожиданному поведению. Например, при вызове Set метода после удаления кэша возникает ошибка no-op. Если вы пытаетесь извлечь элементы из кэша Get , метод всегда возвращается null.

  2. Сведения о счетчике производительности больше не вызываются из текущего экземпляра кэша.

  3. Выпускаются все ссылки на кэшированные объекты, удерживаемые текущим экземпляром кэша.

  4. Все CacheEntryChangeMonitor экземпляры, которые в настоящее время отслеживают записи в кэше, уведомляются.

  5. Вызываются объекты обратного вызова, предоставляющие уведомление об изменениях для этих мониторов.

  6. Вызываются все CacheItemRemovedCallback экземпляры, зарегистрированные с записями в кэше. Причина удаления, передаваемая обратному вызову CacheSpecificEviction.

Применяется к