Symptomer
Anta at du har oppgradert til Microsoft .NET Framework 4.6 på datamaskinen. Når du bruker et program som bruker Windows Communication Framework (WCF) til å sende XML-SOAP-meldinger, kan det ta litt lengre tid å kodingen. I noen tilfeller kan dette påvirke hastigheten som et serverprogram kan behandle forespørsler.
Årsak
Dette problemet oppstår på grunn av en ny åpnes (JIT) kompilator som heter RyuJIT. Dette kompilatoren bruker ulike optimaliseringer enn eldre JIT64 kompilatoren. En metode på en varm kodebane for koding av strengene i XmlDictionaryWriter ikke er optimalisert for den nye JIT-kompilatoren og genererte opprinnelige instruksjonene tregere og kodingen tar lenger tid. Når en SOAP-meldingen inneholder et stort antall strenger som skal kodes, tregere koden brukes oftere og kan påvirke tiden koding.
Oppløsning
Hvis du vil omgå dette problemet, kan du konfigurere programmet til å deaktivere bruken av "ngen" for System.Runtime.Serialization.dll-samlingen og bruke den eldre JIT-motoren. Hvis du vil gjøre dette, bruker du én av følgende metoder:
-
Angi følgende miljøvariabler:
COMPLUS_useLegacyJit=1
COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization -
Opprette en av de følgende undernøklene i registret:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Legg deretter til følgende verdier:-
Navn: useLegacyJit
Type: REG_WORD
Verdi: 1 -
Navn: DisableNativeImageLoadList
Type: REG_SZ
Verdi: System.Runtime.Serialization
-
-
Legg til følgende tekst i < program >. exe.config fil. Opprette delene angitt hvis de ikke allerede finnes.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
Hvis du vil ha mer informasjon om kjente problemer i .NET Framework 4.6, kan du se kjente problemer for .NET Framework 4.6.
Hvis du vil ha mer informasjon
Hvis du vil ha mer informasjon om endringer i produktet versjonskontroll og deres effekter i .NET Framework 4.6, kan du se Application Compatibility i .NET Framework 4.6.