Aracılığıyla paylaş


Marshal.CleanupUnusedObjectsInCurrentContext Yöntem

Tanım

Geçerli bağlamda ayrılan tüm Çalışma Zamanı Çağrılabilen Sarmalayıcıları (RCW) temizlemek için çalışma zamanını bildirir.

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

Açıklamalar

Birlikte çalışma sistemi, RCW'leri temizlemeye çalışırken iletileri pompalar. Bu, tek iş parçacıklı daire (STA) RCW'ler için temizlemenin, yeterince sık pompalanmamış uygulamalar da dahil olmak üzere tüm uygulamalarda gerçekleşmesini sağlar. Ancak, pompayı uygun şekilde kullanan bazı uygulamalar pompalamanın gerçekleştiği yere çok duyarlıdır. Birlikte çalışma sistemi bu uygulamalarda, beklenmeyen yerlerde iletiler pompaladığında, uygulama tanılanabilmesi zor olan yeniden giriş sorunlarıyla karşılaşabilir. Bu nedenle, uygulamaların belirli bir STA için kendi pompalarını kontrol edebilmesi ve RW'lerin temizlenmesini kontrol edebilmesi gerekir.

Ancak geliştiriciler genellikle uygulamalarında iş parçacıklarının yalnızca bir alt kümesini denetler ve bu nedenle tüm iş parçacıklarının uygun şekilde pompalandığından emin olamaz.

Bu sorunu çözmek için:

  1. RCW'lerin Thread.DisableComObjectEagerCleanup otomatik temizlemesini ve iş parçacığı başına gerçekleşen ileti pompalama işlemini kapatmak için yöntemini kullanın. Bu, geliştiricilerin otomatik temizlemeyi ve ilgili ileti pompalama işlemini geri çevirmesine olanak tanır.

  2. Çalışma zamanına CleanupUnusedObjectsInCurrentContext geçerli bağlamda ayrılan tüm RCW'leri temizlemesini bildirmek için yöntemini kullanın. Bu yardımcı yöntem, geliştiricilerin çalışma zamanının geçerli bağlamda ne zaman temizleme gerçekleştireceklerini tam olarak denetlemesine olanak tanır.

Şunlara uygulanır