Belirtiler
Bilgisayarınızda Microsoft .NET Framework 4.6 yükseltilmiş varsayalım. XML SOAP iletilerini göndermek için Windows Communication Framework (WCF) kullanan bir uygulama kullandığınızda, kodlama biraz daha uzun sürebilir. Bazı durumlarda, bu sunucu uygulaması isteklerini işlemek hızını etkileyebilir.
Neden
Bu sorun, RyuJIT adlı yeni bir Just-In-Time (JIT) derleyici nedeniyle oluşur. Bu derleyici farklı en iyi duruma getirmeleri daha eski JIT64 derleyici kullanır. Sıcak kod yolu XmlDictionaryWriter Dizelerdeki kodlama için bir yöntem için yeni JIT derleyicisi getirilmemiştir ve oluşturulan yerel yönergeleri daha yavaş çalışıyor ve kodlama daha uzun sürer. Bir SOAP iletisinin çok sayıda kodlanacak dizeler içeriyorsa, daha yavaş bu kodu daha sık kullanılan ve kodlama süresi etkileyebilir.
Çözüm
Bu soruna geçici bir çözüm için uygulama System.Runtime.Serialization.dll derlemesi ngen kullanımını devre dışı bırakmak ve eski JIT motoru kullanmak için yapılandırın. Bunu yapmak için aşağıdaki yöntemlerden birini kullanın:
-
Aşağıdaki ortam değişkenlerini ayarlama:
COMPLUS_useLegacyJit=1
COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization -
Kayıt defterinde aşağıdaki alt anahtarlardan birini oluşturun:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Daha sonra aşağıdaki değerleri ekleyin:-
Anahtar adı: useLegacyJit
Türü: REG_WORD
Değer: 1 -
Anahtar adı: DisableNativeImageLoadList
Türü: REG_SZ
Değer: System.Runtime.Serialization
-
-
< Uygulama > aşağıdaki metni ekleyin. exe.config dosyası. Bunlar zaten yoksa belirtilen bölümler oluşturun.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
.NET Framework 4.6 olarak bilinen sorunlar hakkında daha fazla bilgi için bkz: bilinen sorunlar için .NET Framework 4.6.
Daha fazla bilgi
Ürün sürüm değişiklikleri ve .NET Framework 4.6, bunların etkileri hakkında daha fazla bilgi için bkz: .NET Framework 4.6'te uygulama uyumluluğu.