Thread.DisableComObjectEagerCleanup Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Deaktiviert die automatische Bereinigung der aufrufbaren Runtime-Wrapper (RCW) für den aktuellen Thread.
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 ()
- Attribute
Hinweise
Standardmäßig bereinigt die Common Language Runtime (CLR) automatisch aufrufbare Wrapper zur Laufzeit. Die CLR Pumpen Meldungen während der Bereinigung, was zu Reentranzproblemen für einige Anwendungen führen kann, die die folgenden ungewöhnlichen Kriterien erfüllen:
Die Anwendung führt eine eigene Nachrichtenpumpe durch.
Die Anwendung muss genau steuern, wann Nachrichtenpumping auftritt.
Solche Anwendungen können die DisableComObjectEagerCleanup Methode verwenden, um zu verhindern, dass die CLR automatische Relamation von laufzeitaufrufbaren Wrappern durchführt.
Wenn diese Methode für einen Thread aufgerufen wurde, kann die automatische Bereinigung für diesen Thread nicht erneut aktiviert werden. Wenn Ihre Anwendung bereit ist, aufrufbare Wrapper zur Laufzeit zu bereinigen, verwenden Sie die Marshal.CleanupUnusedObjectsInCurrentContext Methode, um die Laufzeit anzuweisen, alle aufrufbaren Wrapper der Laufzeit im aktuellen Kontext zu bereinigen. Meldungspumping tritt auf, während die Methode ausgeführt wird.