Udostępnij za pośrednictwem


Marshal.CleanupUnusedObjectsInCurrentContext Metoda

Definicja

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:

  1. 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.

  2. 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.

Dotyczy