Aracılığıyla paylaş


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şimleri beklenmeyen davranışlara neden olabilir. Örneğin, önbellek atıldıktan sonra yöntemini çağırırsanız Set , bir çalışma hatası oluşur. Önbellekten öğe almayı denerseniz yöntemi Get her zaman döndürür null.

  2. Performans sayacı bilgileri artık geçerli önbellek örneğinden alınmaz.

  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. Şu anda önbellekteki girdileri izleyen 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