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 метода после удаления кэша возникает ошибка отсутствия операции. При попытке извлечь элементы из кэша Get метод всегда возвращает null.

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

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

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

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

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

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