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

適用対象