Marshal.CleanupUnusedObjectsInCurrentContext Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Powiadamia środowisko uruchomieniowe o wyczyszczeniu wszystkich otoek wywołań środowiska uruchomieniowego (RCW) przydzielonych w bieżącym kontekście.
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 ()
- Atrybuty
Uwagi
System międzyoperacyjny pompuje komunikaty podczas próby oczyszczenia RCW. Zapewnia to, że czyszczenie pojedynczych wątków apartamentów (STA) RCW odbywa się we wszystkich aplikacjach, w tym w aplikacjach, które nie pompują wystarczająco często. Jednak niektóre aplikacje, które odpowiednio pompują, są bardzo wrażliwe na miejsce, w którym występuje pompowanie. Gdy komunikaty międzyoperacyjności systemu pompują w tych aplikacjach, w miejscach, które są nieoczekiwane, aplikacja może napotkać problemy z ponownego wystąpienia, które są trudne do zdiagnozowania. W związku z tym aplikacje muszą być w stanie kontrolować własne pompowanie dla określonego STA i kontrolować czyszczenie RCW.
Jednak deweloperzy często kontrolują tylko podzestaw wątków w swojej aplikacji i w związku z tym nie mogą upewnić się, że wszystkie wątki są pompowane odpowiednio.
Aby rozwiązać ten problem:
Thread.DisableComObjectEagerCleanup Użyj metody , aby wyłączyć automatyczne czyszczenie RCW i pompowanie komunikatów, które występuje, na podstawie wątku. Dzięki temu deweloperzy mogą zrezygnować z automatycznego czyszczenia i odpowiedniego pompowania komunikatów.
CleanupUnusedObjectsInCurrentContext Użyj metody , aby powiadomić środowisko uruchomieniowe, aby wyczyścić wszystkie RCW przydzielone w bieżącym kontekście. Ta metoda towarzysza pozwala deweloperom dokładnie kontrolować, kiedy środowisko uruchomieniowe wykonuje oczyszczanie w bieżącym kontekście.