Problém výkonu při odesílání zpráv XML SOAP 4.6 rozhraní.NET Framework pomocí WCF

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=1
    COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization

  • V registru můžete vytvořte buď následující podklíče:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework

    Poté přidejte následující hodnoty:

    • Název klíče: useLegacyJit
      Typ: REG_WORD
      Hodnota: 1

    • Název klíče: DisableNativeImageLoadList
      Typ: REG_SZ
      Hodnota: 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?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×