Sintomas
Suponha que você atualizou para o Microsoft.NET Framework 4.6 em seu computador. Quando você usa um aplicativo que use Windows Communication Framework (WCF) para enviar mensagens XML SOAP, a codificação pode demorar um pouco mais. Em alguns casos, isso pode afetar a taxa na qual um aplicativo de servidor pode processar solicitações.
Causa
Esse problema ocorre devido a um novo Just-In-Time compilador JIT () chamado RyuJIT. Esse compilador usa diferentes otimizações que o compilador JIT64 herdado. Um método em um caminho de código para codificar sequências de caracteres de XmlDictionaryWriter não está otimizado para o compilador JIT novo e as instruções nativas geradas são executados mais lentamente e a codificação leva mais tempo. Quando uma mensagem SOAP contém um grande número de cadeias de caracteres a ser codificado, este código mais lento é usado com mais frequência e pode afetar o tempo de codificação.
Resolução
Para contornar esse problema, configure o aplicativo para desativar o uso do ngen para o assembly System.Runtime.Serialization.dll e usar o mecanismo JIT herdado. Para fazer isso, use um dos seguintes métodos:
-
Defina as seguintes variáveis de ambiente:
COMPLUS_useLegacyJit=1
COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization -
No registro, crie qualquer uma das seguintes subchaves:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Em seguida, adicione os seguintes valores:-
Nome da chave: useLegacyJit
Tipo: REG_WORD
Valor: 1 -
Nome da chave: DisableNativeImageLoadList
Tipo: REG_SZ
Valor: System.Runtime.Serialization
-
-
Adicione o seguinte texto para o < aplicativo >. exe. Crie seções indicadas se eles ainda não existirem.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
Para obter mais informações sobre os problemas conhecidos na 4.6 do.NET Framework, consulte problemas para o.NET Framework 4.6.
Mais informações
Para obter mais informações sobre as alterações de versão do produto e seus efeitos na 4.6 do.NET Framework, consulte Compatibilidade de aplicativo do.NET Framework 4.6.