Požymiai
Tarkime, kad turite atnaujinti Microsoft .NET Framework 4.6 jūsų kompiuteryje. Kai naudojate programą, kuri naudoja Windows ryšių sistemą (WCF) XML SOAP siųsti, kodavimą, gali užtrukti šiek tiek ilgiau. Kai kuriais atvejais tai gali turėti įtakos dydis, kai serverio taikomosios programos gali apdoroti užklausos.
Priežastis
Ši problema kyla dėl naujų laiku (JIT) kompiliatorių, pavadintą RyuJIT. Šis kompiliatorius naudoja kitą optimizavimas nei senstelėjusios įrangos JIT64 kompiliatorius. Aktyvinimo kodas kelias metodas kodavimo perduotas XmlDictionaryWriter teksto nėra optimizuotas naują JIT kompiliavimo ir sugeneruotas pirminio nurodymus lėčiau ir kodavimą trunka ilgiau. SOAP pranešimo yra daug eilutes ir būti užkoduoti, šis lėčiau kodas naudojamas dažniau ir gali turėti įtakos kodavimo laiko.
Sprendimas
Norėdami išspręsti šią problemą, sukonfigūruoti, kad programa ngen naudoti System.Runtime.Serialization.dll surinkti ir naudoti senstelėjusios įrangos JIT modulis. Norėdami tai padaryti, naudokite vieną iš toliau nurodytų būdų:
-
Nustatyti aplinkos kintamieji:
COMPLUS_useLegacyJit=1
COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization -
Į registrą, sukurkite vieną iš šių dalinių raktų:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Tada įtraukite šias reikšmes:-
Rakto pavadinimas: useLegacyJit
Tipas: REG_WORD
Reikšmė: 1 -
Rakto pavadinimas: DisableNativeImageLoadList
Tipas: REG_SZ
Reikšmė: System.Runtime.Serialization
-
-
Įtraukti šį tekstą į < programėlę >. exe.config failą. Sukurti nurodyti skyrių, jei jie dar nėra.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
Jei norite gauti daugiau informacijos apie žinomas ".NET Framework 4.6" problemas, žr. žinomos problemos, .NET Framework 4.6.
Daugiau informacijos
Jei norite gauti daugiau informacijos apie produkto versijos pakeitimus ir jų poveikis .NET Framework 4.6, peržiūrėkite Programos suderinamumą su .NET Framework 4.6.