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的删除原因是 。

适用于