Sintomi
Si supponga di aver aggiornato il computer a Microsoft.NET Framework 4.6. Quando si utilizza un'applicazione che utilizza Windows Communication Framework (WCF) per inviare messaggi SOAP XML, la codifica può richiedere più lente. In alcuni casi, questo potrebbe influenzare il tasso al quale un'applicazione server può elaborare le richieste.
Causa
Questo problema si verifica a causa di un nuovo compilatore JIT (JIT) denominato RyuJIT. Il compilatore utilizza diverse ottimizzazioni del compilatore JIT64 legacy. Un metodo in un percorso di codice attivo per la codifica delle stringhe di XmlDictionaryWriter non è ottimizzato per il nuovo compilatore JIT e le istruzioni native generate più lenti e la codifica richiede più tempo. Quando un messaggio SOAP contiene un numero elevato di stringhe la codifica, il codice più lento viene utilizzato più frequentemente e può influenzare il tempo di codifica.
Risoluzione
Per risolvere questo problema, configurare l'applicazione per disattivare l'utilizzo di ngen per l'assembly System.Runtime.Serialization.dll e utilizzare il modulo JIT legacy. A tale scopo, utilizzare uno dei seguenti metodi:
-
Impostare le variabili di ambiente seguenti:
COMPLUS_useLegacyJit=1
COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization -
Nel Registro di sistema, creare una delle seguenti sottochiavi:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Quindi, aggiungere i seguenti valori:-
Nome chiave: useLegacyJit
Tipo: REG_WORD
Valore: 1 -
Nome chiave: DisableNativeImageLoadList
Tipo: REG_SZ
Valore: System.Runtime.Serialization
-
-
Aggiungere il seguente testo a < applicazione >. exe. config. Creare le sezioni indicate se non esiste già.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
Per ulteriori informazioni sui problemi noti di 4.6 di.NET Framework, vedere problemi per il 4.6 di.NET Framework.
Ulteriori informazioni
Per ulteriori informazioni sulle modifiche controllo delle versioni del prodotto e relativi effetti di 4.6 di.NET Framework, vedere Compatibilità delle applicazioni nei 4.6 di.NET Framework.