Sintomas
Suponha que tiver actualizado para o Microsoft .NET Framework 4.6 no seu computador. Quando utiliza uma aplicação que utiliza comunicação Framework WCF (Windows) para enviar mensagens SOAP de XML, poderá demorar ligeiramente mais a codificação. Em alguns casos, isto poderá afectar a taxa em que uma aplicação de servidor pode processar pedidos.
Causa
Este problema ocorre devido a um novo compilador JIT (JIT) com o nome RyuJIT. Este compilador utiliza optimizações diferentes que o compilador de JIT64 legacy. Um método num caminho de código de atalho para a codificação de cadeias de XmlDictionaryWriter não está optimizado para o compilador JIT novo e as instruções nativas geradas mais lenta e a codificação demora mais tempo. Quando uma mensagem SOAP contém um grande número de cadeias para ser codificado, este código mais lento é utilizado mais frequentemente e pode afectar o tempo de codificação.
Resolução
Para contornar este problema, configure a aplicação para desactivar a utilização de ngen para a assemblagem de System.Runtime.Serialization.dll e para utilizar o motor JIT legacy. Para tal, utilize um dos seguintes métodos:
-
Defina as seguintes variáveis de ambiente:
COMPLUS_useLegacyJit=1
COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization -
No registo, crie 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 a < aplicação >. exe. Crie as secções indicadas se estas ainda não existir.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
Para mais informações sobre os problemas conhecidos em 4.6 de Framework .NET, consulte problemas para o quadro 4.6. .NET conhecidos.
Mais informações
Para mais informações sobre as alterações de controlo de versões de produto e dos seus efeitos em 4.6 de Framework .NET, consulte Compatibilidade de aplicações em 4.6 de Framework .NET.