Marshal.CleanupUnusedObjectsInCurrentContext Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Upozorní modul runtime, aby vyčistil všechny obálky s možností volání modulu runtime (RCWs) přidělené v aktuálním kontextu.
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 ()
- Atributy
Poznámky
Interop systém pumpuje zprávy, zatímco se pokouší vyčistit RCWs. Tím se zajistí, že čištění pro jednovláknové apartmány (STA) RCWs proběhne ve všech aplikacích, včetně aplikací, které se dostatečně často nenačerpá. Některé aplikace, které pumpují správně, jsou však velmi citlivé na to, kde se pumpování vyskytuje. Když interop systém pumpuje zprávy v těchto aplikacích, na místech, která jsou neočekávaná, může aplikace narazit na problémy s opětovnou architekturou, které jsou obtížné diagnostikovat. Proto musí být aplikace schopny ovládat vlastní pumpování pro konkrétní STA a řídit čištění RCWs.
Vývojáři ale často řídí pouze podmnožinu vláken ve své aplikaci, a proto nemohou zajistit, aby se všechna vlákna správně pumpovaly.
Tento problém vyřešíte takto:
Thread.DisableComObjectEagerCleanup Pomocí této metody vypněte automatické čištění RCWs a pumpování zpráv, ke kterým dochází, na bázi jednotlivých vláken. To umožňuje vývojářům odhlásit automatické čištění a odpovídající pumpování zpráv.
CleanupUnusedObjectsInCurrentContext Pomocí metody upozorněte modul runtime k vyčištění všech rcWs, které jsou přiděleny v aktuálním kontextu. Tato doprovodná metoda umožňuje vývojářům přesně řídit, kdy modul runtime provádí vyčištění v aktuálním kontextu.