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ına 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'leri 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, pompanın nerede oluştuğuna ç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 pompalarını kontrol edebilmesi ve RCW'lerin temizlenmesini kontrol edebilmesi gerekir.

Ancak geliştiriciler genellikle kendi uygulamalarındaki 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 oluşan ileti pompalama işlemini kapatmak için yöntemini kullanın. Bu, geliştiricilerin otomatik temizlemeyi ve buna karşılık gelen ileti pompalama işlemini geri çevirmesini sağlar.

  2. CleanupUnusedObjectsInCurrentContext Geçerli bağlamda ayrılan tüm RCW'leri temizlemesi 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 hassas bir şekilde denetlemesine olanak tanır.

Şunlara uygulanır