OPRAVA: Aplikace založená na rozhraní .NET Framework 2.0 SP2 nebo .NET Framework 3.5 SP1 správně neodstraní objekty bezpečného popisovače, které byly vytvořeny objektem WindowsIdentity

Platí pro
.NET Framework 3.5 Service Pack 1

Příznaky

Máte aplikaci založenou na rozhraní Microsoft .NET Framework 2.0 Service Pack 2 (SP2) nebo aplikaci založenou na rozhraní Microsoft .NET Framework 3.5 Service Pack 1 (SP1), která používá třídu WindowsIdentity. Když odstraníte objekt WindowsIdentity, instance objektu SafeTokenHandle a objektu SafeLocalAllocHandle, které byly vytvořeny objektem WindowsIdentity, jsou nesprávně zařazeny do fronty pro finalizaci.

Pokud použijete příkaz !finalizequeue v WinDbg, uvidíte, že došlo k prodloužení délky fronty finalizace. Když se délka fronty finalizace zvětší, výkon se sníží.

Příčina

K tomuto problému dochází, protože metody Dispose objektu SafeTokenHandle a objektu SafeLocalAllocHandle nevolají GC. Metoda SuppressFinalize.

Řešení

Informace o nahrazení opravy Hotfix

Oprava hotfix odpovídající KB967615 byla nahrazena opravou hotfix KB981574, která obsahuje všechny opravy, které byly dříve součástí KB967615. K opravě problémů popsaných v KB967615 byste měli použít KB981574 opravy hotfix. Další informace naleznete v následujícím článku znalostní báze znalostní báze Microsoft Knowledge Base:

981574 Při pokusu o spuštění Excelu na počítači s nainstalovaným rozhraním .NET Framework 3.5 SP1 zůstane úvodní obrazovka otevřená déle než obvykle

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.