Thread.DisableComObjectEagerCleanup 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
对于当前线程关闭运行时可调用包装 (RCW) 的自动清理。
public:
void DisableComObjectEagerCleanup();
public void DisableComObjectEagerCleanup ();
[System.Security.SecurityCritical]
public void DisableComObjectEagerCleanup ();
member this.DisableComObjectEagerCleanup : unit -> unit
[<System.Security.SecurityCritical>]
member this.DisableComObjectEagerCleanup : unit -> unit
Public Sub DisableComObjectEagerCleanup ()
- 属性
注解
默认情况下,公共语言运行时 (CLR) 自动清理运行时可调用包装器。 CLR 在清理过程中抽取消息,这可能会导致几个满足以下异常条件的应用程序的重入问题:
应用程序执行其自身的消息泵。
当发生消息泵时,应用程序需要精确地进行控制。
此类应用程序可以使用 DisableComObjectEagerCleanup 方法阻止 CLR 自动回收运行时可调用包装器。
在线程上调用此方法时,不能为该线程重新启用自动清除。 当应用程序准备好清理运行时可调用包装时,使用 Marshal.CleanupUnusedObjectsInCurrentContext 方法指示运行时清理当前上下文中的所有运行时可调用包装器。 当方法执行时,将发生消息泵。