Marshal.CleanupUnusedObjectsInCurrentContext Metoda

Definicja

Powiadamia środowisko uruchomieniowe o wyczyszczeniu wszystkich otoek z możliwością wywołania ś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ędzyoperacyjności pompuje komunikaty podczas próby wyczyszczenia RCW. Gwarantuje 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 to, gdzie występuje pompowanie. Gdy międzyoperacyjność pompuje komunikaty w tych aplikacjach, w miejscach, które są nieoczekiwane, aplikacja może napotkać ponownie problemy, 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ą odpowiednio pompowane.

Aby rozwiązać ten problem:

  1. Thread.DisableComObjectEagerCleanup Użyj metody , aby wyłączyć automatyczne czyszczenie RCWs 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 umożliwia deweloperom precyzyjne kontrolowanie, kiedy środowisko uruchomieniowe wykonuje oczyszczanie w bieżącym kontekście.

Dotyczy