Platí pro
.NET Framework 4.6.2

Příznaky

Předpokládejme, že jste provedli upgrade na Microsoft rozhraní.NET Framework 4.6 ve vašem počítači. Při použití aplikace, která používá Windows Communication Framework (WCF) k odesílání zpráv XML SOAP kódování může trvat trochu déle. V některých případech může ovlivnit rychlost, jakou server aplikace může zpracovávat žádosti.

Příčina

K tomuto problému dochází z důvodu nový kompilátor JIT (JIT), který se nazývá RyuJIT. Tento kompilátor používá různé optimalizace než starší verze kompilátoru JIT64. Metoda na cestě hot kódu pro kódování řetězců v XmlDictionaryWriter není optimalizován pro nový kompilátor JIT a generované nativní instrukce pomaleji a kódování trvá déle. Zprávy SOAP obsahuje velký počet řetězců, které mají být kódovány, tento pomalejší kód se používá častěji a může ovlivnit čas kódování.

Řešení

Chcete-li tento problém vyřešit, nakonfigurujte aplikaci zakázat užívání ngen System.Runtime.Serialization.dll sestavení a použití starší verze modulu JIT. Chcete-li to provést, použijte jednu z následujících metod:

  • Nastavení následujících proměnných prostředí:COMPLUS_useLegacyJit=1COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization

  • V registru můžete vytvořte buď následující podklíče:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFrameworkHKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFrameworkPoté přidejte následující hodnoty:

    • Název klíče: useLegacyJitTyp: REG_WORDHodnota: 1

    • Název klíče: DisableNativeImageLoadListTyp: REG_SZHodnota: System.Runtime.Serialization

  • Přidat následující text < aplikace >. exe.config souboru. Uvedené oddíly vytvořte, pokud již neexistují.<configuration> <runtime> <useLegacyJit enabled="1"> <disableNativeImageLoad> <assemblyIdentity name="System.Runtime.Serialization" /> </disableNativeImageLoad> </runtime> </configuration>

Další informace o známých problémech s 4.6 rozhraní.NET Framework naleznete v tématu Známé problémy pro 4.6 rozhraní.NET Framework.

Další informace

Další informace o změny verzí produktu a jejich účinky v 4.6 rozhraní.NET Framework naleznete v tématu Kompatibilita aplikací rozhraní.NET Framework 4.6.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.