Marshal.CleanupUnusedObjectsInCurrentContext Metoda

Definicja

Powiadamia środowisko uruchomieniowe o wyczyszczeniu wszystkich wywoływalnych otoek ś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. Zapewnia to, że oczyszczanie jednowątkowego mieszkania (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 system międzyoperacyjności pompuje komunikaty w tych aplikacjach, w miejscach, które są nieoczekiwane, aplikacja może napotkać problemy z ponowną entrancją, które są trudne do zdiagnozowania. W związku z tym aplikacje muszą być w stanie kontrolować własne pompy 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ą zagwarantować, że wszystkie wątki odpowiednio pompują.

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, w zależności od 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 o wyczyszczeniu wszystkich wersji RCW przydzielonych w bieżącym kontekście. Ta metoda pomocnika pozwala deweloperom precyzyjnie kontrolować, kiedy środowisko uruchomieniowe wykonuje oczyszczanie w bieżącym kontekście.

Dotyczy