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 iletileri pompaladığında, uygulama tanılaması zor olan yeniden giriş sorunlarıyla karşılaşabilir. Bu nedenle, uygulamaların belirli bir STA için kendi pompalamalarını ve RCW'lerin temizliğini kontrol edebilmeleri 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'leri Thread.DisableComObjectEagerCleanup ve oluşan ileti pompalama işlemini iş parçacığı başına otomatik temizlemeyi kapatmak için yöntemini kullanın. Bu, geliştiricilerin otomatik temizlemeyi ve ilgili ileti pompalama işlemini geri çevirmesini sağlar.

  2. CleanupUnusedObjectsInCurrentContext Geçerli bağlamda ayrılan tüm RCW'leri temizlemek için çalışma zamanını bilgilendirmek 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