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 moduly RCW (Runtime Callable Wrappers) 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 při pokusu o vyčištění RCW. Tím se zajistí, že čištění jednovláknových apartmánových stanic (STA) RCW probíhá ve všech aplikacích, včetně aplikací, které nečerpají dostatečně často. Některé aplikace, které pumpují správně, jsou však velmi citlivé na to, kde k čerpání dochází. 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 opakovaným připojením, které je obtížné diagnostikovat. Proto musí být aplikace schopné řídit vlastní čerpání pro konkrétní STA a řídit čištění RCW.
Vývojáři však často řídí pouze podmnožinu vláken ve své aplikaci, a proto nemohou zajistit, aby všechna vlákna správně pumpovaly.
Tento problém vyřešíte takto:
Pomocí metody vypněte Thread.DisableComObjectEagerCleanup automatické čištění RCW a pumpování zpráv, ke kterému dochází, na základě jednotlivých vláken. To umožňuje vývojářům vyjádřit výslovný nesouhlas s automatickým čištěním a odpovídajícím pumpováním zpráv.
CleanupUnusedObjectsInCurrentContext Pomocí metody upozorněte modul runtime, aby vyčistil všechny služby RCW, které jsou přiděleny v aktuálním kontextu. Tato doprovodná metoda umožňuje vývojářům přesně řídit, kdy modul runtime provede vyčištění v aktuálním kontextu.