Установка обновления безопасности MS05-004 может приводить к снижению производительности ASP.NET

Переводы статьи Переводы статьи
Код статьи: 891829 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

Если после установки обновления безопасности MS05-004 в систему войдет пользователь, не имеющий прав администратора, то производительность Microsoft ASP.NET может уменьшиться. Это вызвано тем, что данное обновление безопасности заменяет файлы DLL, имеющие образы в машинном коде. Во время установки все образы в машинном коде помечаются как недействительные и считаются таковыми, пока администратор не войдет в систему.

Снижение производительности происходит за счет увеличения загрузки процессора во время загрузки кода при запуске. После достижения системой устойчивого состояния значительного снижения производительности не наблюдается.

Снижение производительности происходит только после установки данного обновления безопасности на компьютерах, на которых установлены Microsoft .NET Framework 1.0 с пакетом обновления 2 (SP2) или исходная версия Microsoft .NET Framework 1.1.

Обновление безопасности MS05-004 устанавливает новые версии следующих файлов DLL.

Если установлен пакет .NET Framework 1.1
  • System.dll
  • System.xml.dll
Если установлен пакет .NET Framework 1.0 с пакетом обновления 2 (SP2)
  • Mscorlib.dll
  • System.dll
  • System.xml.dll
Чтобы определить номер основной версии пакета .NET Framework, установленного на компьютере, используйте следующий метод.
  • Если папка %windir%\Microsoft.net\Framework\v1.0.3705 содержит более четырех файлов, значит, установлен пакет .NET Framework 1.0. Если данная папка содержит только приведенные ниже файлы, значит, пакет .NET Framework 1.0 не установлен.
    • Installutil.exe.config
    • Mscormmc.cfg
    • Mscormmc.dll
    • Regsvcs.exe.rtm.config
  • Если существует папка %windir%\Microsoft.net\Framework\v1.1.4322, значит, установлен пакет .NET Framework 1.1.
Примечание. На компьютере могут одновременно существовать обе вышеуказанные папки.

Примечание. Чтобы определить номер версии пакета обновления, используйте следующий метод.
  • Если номер версии файла %windir%\Microsoft.net\Framework\v1.0.3705\Sscorwrks.dll меньше чем 1.0.3705.6000, значит, установлен пакет обновления 2 (SP2) для .NET Framework 1.0.
  • Если номер версии файла %windir%\Microsoft.net\Framework\v1.1.4322\Sscorwrks.dll меньше чем 1.1.4322.2000, значит, установлен пакет.NET Framework 1.1.

Решение

После установки данного обновления безопасности образы в машинных кодах обновляются при первом входе в систему пользователя с правами администратора. После обновления образов в машинных кодах производительность системы возвращается на прежний уровень. Это происходит, поскольку загружаемый код может не подвергаться предварительной JIT-компиляции.

Кроме того, для обновления образов в машинных кодах можно воспользоваться генератором образов в машинном коде (Ngen.exe). Для этого выполните следующие команды.

Если установлен пакет .NET Framework 1.1
NGEN %windir%\Microsoft.Net\Framework\V1.1.4322\system.dll
NGEN %windir%\Microsoft.Net\Framework\V1.1.4322\system.Xml.dll
Примечание. Генератор образов в машинном коде находится в папке %windir%\Microsoft.Net\Framework\V1.1.4322.


Если установлен пакет .NET Framework 1.0 с пакетом обновления 2 (SP2)
NGEN %windir%\Microsoft.Net\Framework\V1.0.3705\mscorlib.dll
NGEN %windir%\Microsoft.Net\Framework\V1.0.3705\system.dll
NGEN %windir%\Microsoft.Net\Framework\V1.0.3705\system.Xml.dll
В результате установки новой версии файла Mscorlib.dll все образы в машинных кодах, установленные на компьютере, будут считаться недействительными. Поэтому необходимо выполнить указанные ниже команды и обновить данные образы для соответствующих файлов DLL.
NGEN %windir%\Microsoft.Net\Framework\V1.0.3705\custommarshalers.dll
NGEN %windir%\Microsoft.Net\Framework\V1.0.3705\system.Design.dll
NGEN %windir%\Microsoft.Net\Framework\V1.0.3705\system.Drawing.dll
NGEN %windir%\Microsoft.Net\Framework\V1.0.3705\system.Drawing.Design.dll
NGEN %windir%\Microsoft.Net\Framework\V1.0.3705\system.Windows.Forms.dll
Примечание. Генератор образов в машинном коде находится в папке %windir%\Microsoft.Net\Framework\V1.0.3705.

Ссылки

Дополнительные сведения об обновлении безопасности MS05-004 см. в следующей статье базы знаний Майкрософт:
887219 MS05-004: Уязвимость при проверке путей приложениями ASP.NET делает возможным несанкционированный доступ
Дополнительные сведения о генераторе образов в машинном коде (Ngen.exe) см. на веб-узле Microsoft Developer Network по адресу:
http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/cptools/html/cpgrfnativeimagegeneratorngenexe.asp

Свойства

Код статьи: 891829 - Последний отзыв: 14 февраля 2005 г. - Revision: 1.1
Информация в данной статье относится к следующим продуктам.
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0 Service Pack 2
Ключевые слова: 
kbprb KB891829

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com