Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

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=1
    COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization

  • W rejestrze należy utworzyć jeden z następujących podkluczy:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework

    Następnie należy dodać następujące wartości:

    • Nazwa klucza: useLegacyJit
      Typ: REG_WORD
      Wartości: 1

    • Nazwa klucza: DisableNativeImageLoadList
      Typ: REG_SZ
      Wartość: 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.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×