Marshal.CleanupUnusedObjectsInCurrentContext Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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:
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.
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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin