Dotyczy
.NET Framework 4.6.2

Objawy

Założono, że przeprowadzono aktualizację do programu Microsoft.NET Framework 4.6 na komputerze. Użyj aplikacji, która używa Windows Communication RAM (WCF) do wysyłania wiadomości XML protokołu SOAP, kodowanie może trwać nieco dłużej. W niektórych przypadkach to może wpłynąć na szybkość, przy której aplikacja serwera może przetwarzać żądania.

Przyczyna

Ten problem występuje z powodu nowy kompilator just in Time (JIT) o nazwie RyuJIT. To kompilator używa różne opcje optymalizacji niż starsze kompilatora JIT64. Metoda na ścieżce kodu gorący kodowania ciągów w XmlDictionaryWriter nie jest zoptymalizowana dla kompilator JIT i generowane instrukcje macierzystego działają wolniej i kodowanie trwa dłużej. Gdy wiadomości SOAP zawiera dużą liczbę ciągów, które mają być zakodowane, ten kod wolniej jest częściej używany i może mieć wpływ na czas kodowania.

Rozwiązanie

Aby obejść ten problem, skonfiguruj aplikację, aby wyłączyć używanie ngen dla zestawu System.Runtime.Serialization.dll i używać starszej wersji aparatu JIT. Aby to zrobić, użyj jednej z następujących metod:

  • Ustaw następujące zmienne środowiskowe:COMPLUS_useLegacyJit=1COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization

  • W rejestrze należy utworzyć jeden z następujących podkluczy:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFrameworkHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFrameworkNastępnie należy dodać następujące wartości:

    • Nazwa klucza: useLegacyJitTyp: REG_WORDWartości: 1

    • Nazwa klucza: DisableNativeImageLoadListTyp: REG_SZWartość: System.Runtime.Serialization

  • Dodaj następujący tekst do < Aplikacja >. exe.config pliku. Tworzenie sekcji wskazane, jeśli jeszcze nie istnieje.<configuration> <runtime> <useLegacyJit enabled="1"> <disableNativeImageLoad> <assemblyIdentity name="System.Runtime.Serialization" /> </disableNativeImageLoad> </runtime> </configuration>

Aby uzyskać więcej informacji o znanych problemach 4.6.NET Framework Zobacz znane problemy 4.6.NET Framework.

Więcej informacji

Aby uzyskać więcej informacji na temat zmiany wersji produktu i ich skutków w ppkt 4.6.NET Framework Zobacz Zgodność aplikacji.NET Framework 4.6.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.