Thread.DisableComObjectEagerCleanup Yöntem

Tanım

Geçerli iş parçacığı için çalışma zamanı çağrılabilen sarmalayıcıların (RCW) otomatik temizlemesini kapatır.

public:
 void DisableComObjectEagerCleanup();
public void DisableComObjectEagerCleanup();
[System.Security.SecurityCritical]
public void DisableComObjectEagerCleanup();
member this.DisableComObjectEagerCleanup : unit -> unit
[<System.Security.SecurityCritical>]
member this.DisableComObjectEagerCleanup : unit -> unit
Public Sub DisableComObjectEagerCleanup ()
Öznitelikler

Açıklamalar

Varsayılan olarak, ortak dil çalışma zamanı (CLR), çalışma zamanı çağrılabilen sarmalayıcıları otomatik olarak temizler. CLR, temizleme sırasında iletileri pompalar ve bu da aşağıdaki olağan dışı ölçütleri karşılayan birkaç uygulama için yeniden giriş sorunlarına neden olabilir:

  • Uygulama kendi ileti pompalama işlemini yapar.

  • Uygulamanın ileti pompalamanın ne zaman gerçekleştiğini tam olarak denetlemesi gerekir.

Bu tür uygulamalar, CLR'nin çalışma zamanı çağrılabilen sarmalayıcıları otomatik olarak geri kazanmasını önlemek için yöntemini kullanabilir DisableComObjectEagerCleanup .

Bu yöntem bir iş parçacığında çağrıldığında, otomatik temizleme bu iş parçacığı için yeniden etkinleştirilemez. Uygulamanız çalışma zamanı çağrılabilen sarmalayıcıları temizlemeye hazır olduğunda, çalışma zamanına geçerli bağlamdaki tüm çalışma zamanı çağrılabilen sarmalayıcıları temizlemesini bildirmek için yöntemini kullanın Marshal.CleanupUnusedObjectsInCurrentContext . yöntem yürütülürken ileti pompalama gerçekleşir.

Şunlara uygulanır