ИСПРАВЛЕНИЕ: Метод String.IndexOf занимает больше времени, чем обычно, и.NET Framework 4.0 производительность существенно снижается

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

В этой статье

Проблема

Рассмотрим следующий сценарий:
  • Запустите приложение, нацеленный Microsoft.NET Framework 4.0.
  • Приложение вызываетString.IndexOfметод для отображения индекса первого вхождения подстроки в строке.
  • Строка содержит многие экземпляры подстроки.

В этом случае занимает больше времени, чем ожидается выполнениеString.IndexOfметод. Следовательно его производительность существенно снижается.

ПримечаниеПроблемы производительности не возникает, если приложение предназначено для более ранних версий.NET Framework.

Решение

Сведения об исправлении

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

Чтобы решить проблему немедленно, обратитесь в службу технической поддержки Майкрософт для получения исправления. Полный список телефонов служб поддержки клиентов корпорации Майкрософт и сведения о стоимости поддержки посетите следующий веб-узел корпорации Майкрософт:
http://support.Microsoft.com/contactus/?ws=Support
ПримечаниеВ особых случаях оплата, предусмотренная для звонков в службу поддержки может быть отменена, если специалистом службы поддержки Майкрософт будет определено, что решением проблемы обновления. Затраты на поддержку обычно будет применяться к дополнительные вопросы и проблемы, которые не соответствуют требованиям особым обновлением.

Необходимые условия

Для установки исправления необходимо наличие Microsoft.NET Framework 4.0 установлен.

Сведения об установке

Из-за необходимости перекомпиляцию.NET Framework 4.0 сборки в машинный код, установка исправления может занять больше времени, чем обычно. При этом можно увидеть в диспетчере задач, на котором выполняется сервер оптимизации среды CLR (Mscorsvw.exe).

Информация о перезагрузке

Необходимо перезагрузить компьютер после установки этого исправления. Рекомендуется, чтобы выйти из Microsoft Visual Studio и все.NET Framework приложения перед установкой исправления.

Сведения о замене исправлений

Это исправление не заменяет ранее выпущенные исправления.

Сведения о файле

Английский (США) версия данного исправления устанавливает файлы, перечисленные в следующих таблицах. Дата и время для файлов указаны в формате общего скоординированного времени (UTC). Дата и время файлов на локальном компьютере, отображаются в местном времени вместе с вашей текущей смещения летнего времени (DST). Кроме того даты и время могут измениться при выполнении определенных операций с файлами.
Для всех поддерживаемых 32 разрядных версий Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 и Windows 7
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремяПлатформа
CLR.dll4.0.30319.4046,732,10415 Декабря 2010 г.23: 51x 86
Файла Mscordacwks.dll4.0.30319.4041,141,59215 Декабря 2010 г.23: 51x 86
Mscordbi.dll4.0.30319.404955,21615 Декабря 2010 г.23: 51x 86
Библиотека mscorlib.dll4.0.30319.4045,196,11215 Декабря 2010 г.23: 51x 86
Nlssorting.dll4.0.30319.40456,14415 Декабря 2010 г.23: 51x 86
SOS.dll4.0.30319.404516,93615 Декабря 2010 г.23: 51x 86

Для всех поддерживаемых 64-разрядных версий Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремяПлатформа
CLR.dll4.0.30319.4049,798,98416 Декабря 2010 г.00: 40x 64
Файла Mscordacwks.dll4.0.30319.4041,513,30416 Декабря 2010 г.00: 40x 64
Mscordbi.dll4.0.30319.4041,453,39216 Декабря 2010 г.00: 40x 64
Библиотека mscorlib.dll4.0.30319.4044,960,08016 Декабря 2010 г.00: 40x 64
Nlssorting.dll4.0.30319.40467,40816 Декабря 2010 г.00: 40x 64
SOS.dll4.0.30319.404597,83216 Декабря 2010 г.00: 40x 64

Для всех поддерживаемых IA-64-разрядных версий Windows Server 2003, Windows Server 2008 и Windows Server 2008 R2
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файлаДатаВремяПлатформа
CLR.dll4.0.30319.40419,382,08816 Декабря 2010 г.01: 31IA-64
Файла Mscordacwks.dll4.0.30319.4043,755,86416 Декабря 2010 г.01: 31IA-64
Mscordbi.dll4.0.30319.4043,293,52016 Декабря 2010 г.01: 31IA-64
Библиотека mscorlib.dll4.0.30319.4044,448,08016 Декабря 2010 г.01: 31IA-64
Nlssorting.dll4.0.30319.404143,18416 Декабря 2010 г.01: 31IA-64
SOS.dll4.0.30319.4041,203,01616 Декабря 2010 г.01: 31IA-64



Временное решение

Для временного решения проблемы производительностиStringComparison.Ordinalзначение параметра при вызове приложениемString.IndexOfметод.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Microsoft, перечисленных в разделе «Относится к».

Дополнительная информация

Для получения дополнительных сведений о терминологии, обновление программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:
824684Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Свойства

Код статьи: 2467309 - Последний отзыв: 10 февраля 2011 г. - Revision: 1.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft .NET Framework 4.0
Ключевые слова: 
kbexpertiseinter kbprb kbsurveynew kbfix kbbug kbqfe kbhotfixserver kbmt KB2467309 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:2467309

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

 

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