Príznaky
Predpokladajme, že ste inovovali Microsoft .NET Framework 4.6 v počítači. Pri používaní aplikácie, ktorá používa komunikácie Framework rozhranie WCF (Windows) na odosielanie správ XML SOAP, kódovanie môže trvať dlhšie. V niektorých prípadoch môže ovplyvniť rýchlosť akou serverová aplikácia dokáže spracovať požiadavky.
Príčina
Tento problém sa vyskytuje, pretože nové Just-In-Time (JIT) kompilátor, ktorý sa nazýva RyuJIT. Tento kompilátor používa iný optimalizácie ako staršie JIT64 kompilátor. Postup na ceste za chodu kód kódovanie reťazcov XmlDictionaryWriter nie je optimalizovaná pre nového kompilátor JIT generované natívne pokynov pomalšie a kódovanie trvá dlhšie. SOAP správa obsahuje veľké množstvo kódované reťazce, tento pomalší kód sa používa častejšie a môže ovplyvniť kódovanie čas.
Riešenie
Obísť tento problém, nakonfigurujte aplikácie zakázať používanie ngen System.Runtime.Serialization.dll montáž a používanie nástroja staršie JIT. Chcete urobiť, použite jeden z nasledujúcich postupov:
-
Nastavte nasledujúce premenné:
COMPLUS_useLegacyJit=1
COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization -
V databáze registry Vytvorte jeden z nasledujúcich podkľúčov:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Pridajte nasledujúce hodnoty:-
Názov kľúča: useLegacyJit
Typ: REG_DWORD
Hodnota: 1 -
Názov kľúča: DisableNativeImageLoadList
Typ: REG_SZ
Hodnota: System.Runtime.Serialization
-
-
Pridajte nasledujúci text do < aplikácia >. exe.config súboru. Vytvorenie časti uvedené, ak ešte neexistuje.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
Ďalšie informácie o známych problémoch v .NET Framework 4.6 nájdete známe problémy v .NET Framework 4.6.
Ďalšie informácie
Ďalšie informácie o zmene verzií produktu a ich účinky v .NET Framework 4.6 nájdete Kompatibility v .NET Framework 4.6.