MemoryCache.Dispose Yöntem

Tanım

Sınıfın geçerli örneği MemoryCache tarafından kullanılan tüm kaynakları serbest bırakır.

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

Uygulamalar

Açıklamalar

Her MemoryCache örnek olaya bağlıdır AppDomainUnloaded . Ancak, uygulama etki alanı kapatma sırasında, bellek tabanlı bir önbellek açıkça atılmadıysa, önbellek örneği otomatik olarak yöntemini çağırır Dispose .

Atılan önbellek örneği aşağıdaki adımlar kullanılarak kapatılır:

  1. Önbelleğin durumu, önbelleğin atıldığını gösterecek şekilde ayarlanır. Önbellek girdilerini ekleyen, kaldıran veya alan yöntemler gibi önbelleğin durumunu değiştiren genel önbelleğe alma yöntemlerini çağırma girişimi beklenmeyen davranışlara neden olabilir. Örneğin, önbellek atıldıktan sonra yöntemini çağırırsanız Set bir no-op hatası oluşur. Önbellekten öğe almaya çalışırsanız, Get yöntemi her zaman döndürür null.

  2. Performans sayacı bilgileri artık geçerli önbellek örneğinden yükseltilmemiştir.

  3. Geçerli önbellek örneği tarafından tutulan önbelleğe alınmış nesnelere yapılan tüm başvurular serbest bırakılır.

  4. Önbellekteki girdileri izlemekte olan tüm CacheEntryChangeMonitor örneklere bildirim gönderilir.

  5. Bu izleyiciler için değişiklik bildirimi sağlayan geri çağırma nesneleri çağrılır.

  6. Önbellekteki girdilerle kaydedilen tüm CacheItemRemovedCallback örnekler çağrılır. Geri çağırmalara geçirilen kaldırma nedeni şeklindedir CacheSpecificEviction.

Şunlara uygulanır