Symptom
Anta att du har uppgraderat till Microsoft.NET Framework 4.6 på datorn. När du använder ett program som använder Windows Communication Framework (WCF) för att skicka meddelanden som XML, SOAP, kan kodning ta något längre. I vissa fall kan det påverka den hastighet vid vilken ett serverprogram kan bearbeta begäranden.
Orsak
Det här problemet beror på en ny in JIT-kompilator som heter RyuJIT. Denna kompilator använder olika optimeringar än äldre JIT64-kompilatorn. En metod på en bana med varma kod för strängar i XmlDictionaryWriter -kodning är inte optimerade för nya JIT-kompilatorn genererade egna instruktioner långsammare och kodningen tar längre tid. När ett SOAP-meddelande innehåller ett stort antal strängar som ska kodas, långsammare koden används oftare och kan påverka dess kodning.
Lösning
Undvik det här problemet genom att konfigurera programmet att inaktivera användningen av ngen för System.Runtime.Serialization.dll sammansättning och använda äldre JIT-motorn. Genom att använda någon av följande metoder:
-
Ange följande miljövariabler:
COMPLUS_useLegacyJit=1
COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization -
Skapa något av följande undernycklar i registret:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Lägg sedan till följande värden:-
Namn: useLegacyJit
Typ: REG_WORD
Värde: 1 -
Namn: DisableNativeImageLoadList
Typ: REG_SZ
Värde: avsnittsgruppen
-
-
Lägg till följande text i < program >. exe.config för. Skapa visade avsnitt om de inte redan finns.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
Mer information om kända problem i.NET Framework 4.6 finns i kända problem för.NET Framework 4.6.
Mer Information
Mer information om versionshantering produktförändringar och deras effekter i.NET Framework 4.6 finns Programkompatibilitet i.NET Framework 4.6.