Симптомы
Предположим, что после обновления до Microsoft платформа.NET Framework 4.6 на вашем компьютере. При использовании приложения, использующего Windows Communication Framework (WCF) для отправки сообщений XML SOAP кодировки может занять немного больше времени. В некоторых случаях это может повлиять на скорость, с которой приложение-сервер может обрабатывать запросы.
Причина
Эта проблема возникает из-за новый компилятор JIT – (JIT) с именем RyuJIT. Этот компилятор использует разные оптимизации чем прежних версий компилятора JIT64. Метод горячей код пути для кодирования строк в XmlDictionaryWriter не оптимизирован для нового JIT-компилятором и созданные собственные команды работают медленнее и кодировку занимает больше времени. Когда сообщение SOAP содержит большое количество строк для кодирования, этот код медленнее, более часто используется и может повлиять на время кодирования.
Решение
Чтобы обойти эту проблему, настройте приложение Запрет использования ngen сборки System.Runtime.Serialization.dll и устаревший модуль JIT. Для этого воспользуйтесь одним из следующих способов:
-
Задайте следующие переменные среды:
COMPLUS_useLegacyJit=1
COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization -
В реестре создайте один из следующих подразделов:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Затем добавьте следующие значения:-
Имя ключа: useLegacyJit
Тип: REG_WORD
Значение: 1 -
Имя ключа: DisableNativeImageLoadList
Тип: REG_SZ
Значение: System.Runtime.Serialization
-
-
Добавьте следующий текст в < приложение >. exe.config файла. Создайте указанным разделам, если они еще не существуют.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
Дополнительные сведения об известных проблемах в 4.6 платформа.NET Framework содержатся в разделе Известные проблемы 4.6 платформа.NET Framework.
Дополнительные сведения
Дополнительные сведения об изменениях версий продуктов и их влияние в 4.6 платформа.NET Framework Совместимости приложений в 4.6 платформа.NET Frameworkсм.