Marshal.CleanupUnusedObjectsInCurrentContext Метод

Определение

Предписывает среде выполнения очистить все вызываемые оболочки времени выполнения (RCW), выделенные в текущем контексте.

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 ()
Атрибуты

Комментарии

Система взаимодействия перекачивает сообщения при попытке очистить RCW. Это гарантирует, что очистка однопоточных rcW (STA) происходит во всех приложениях, включая приложения, которые недостаточно часто накачиваются. Однако некоторые приложения, которые делают насос соответствующим образом, очень чувствительны к месту перекачки. Когда система взаимодействия перекачивает сообщения в этих приложениях в неожиданных местах, приложение может столкнуться с проблемами повторного входа, которые трудно диагностировать. Таким образом, приложения должны иметь возможность управлять собственной накачкой для конкретного STA и контролировать очистку RCW.

Однако разработчики часто контролируют только подмножество потоков в своем приложении и поэтому не могут гарантировать, что все потоки накачиваются соответствующим образом.

Чтобы решить эту проблему, выполните указанные ниже действия.

  1. Используйте метод , Thread.DisableComObjectEagerCleanup чтобы отключить автоматическую очистку RCW и откачки сообщений, которые происходят, для каждого потока. Это позволяет разработчикам отказаться от автоматической очистки и откачивания соответствующих сообщений.

  2. Используйте метод , CleanupUnusedObjectsInCurrentContext чтобы уведомить среду выполнения о очистке всех RCW, выделенных в текущем контексте. Этот сопутствующий метод позволяет разработчикам точно контролировать, когда среда выполнения выполняет очистку в текущем контексте.

Применяется к