REMEDIERE: O aplicație bazată pe .NET Framework 2.0 SP2 sau o aplicație bazată pe .NET Framework 3.5 SP1 nu elimină corect obiectele handle sigure care au fost create de obiectul WindowsIdentity

Se aplică la
.NET Framework 3.5 Service Pack 1

Simptome

Aveți o aplicație bazată pe Microsoft .NET Framework 2.0 Service Pack 2 (SP2) sau o aplicație bazată pe Microsoft .NET Framework 3.5 Service Pack 1 (SP1) care utilizează clasa WindowsIdentity. Atunci când eliminați obiectul WindowsIdentity, instanțele obiectului SafeTokenHandle și ale obiectului SafeLocalAllocHandle care au fost create de obiectul WindowsIdentity sunt puse în coadă incorect pentru finalizare.

Dacă utilizați comanda !finalizequeue în WinDbg, veți vedea că există o creștere a lungimii cozii de finalizare. Când lungimea cozii de finalizare crește, performanța scade.

Cauză

Această problemă apare deoarece metodele Dispose ale obiectului SafeTokenHandle și ale obiectului SafeLocalAllocHandle nu apelează GC. Metoda SuppressFinalize.

Rezolvare

Informații despre înlocuirea remedierii rapide

Remedierea rapidă care corespunde KB967615 a fost înlocuită cu KB981574 de remediere rapidă, care conține toate remedierile incluse anterior în KB967615. Ar trebui să utilizați KB981574 de remediere rapidă pentru a remedia problemele descrise în KB967615. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:

981574 Ecranul de întâmpinare rămâne deschis mai mult decât de obicei atunci când încercați să porniți Excel pe un computer care are instalată .NET Framework 3.5 SP1

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.