.NET Framework 4. 6'de XML SOAP iletilerini göndermek için WCF kullandığınızda performans sorunu

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 3076436
Belirtiler
Bilgisayarınızda Microsoft .NET Framework 4.6 yükselten varsayalım. XML SOAP iletilerini göndermek için Windows iletişim Framework(WCF) kullanan bir uygulama kullandığınızda, kodlama biraz daha uzun sürebilir. Bazı durumlarda, bu bir sunucu uygulaması istekleri işleyebilir hızı 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 yoluXmlDictionaryWriter Dizelerdeki kodlamak 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
  • <app>Aşağıdaki metni ekleyin. exe.config dosyası. Bunlar zaten yoksa belirtilen bölümler oluşturun.</app>
    <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. .NET Framework 4.6 için bilinen sorunlar.
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'daki uygulama uyumluluğu.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 3076436 - Son İnceleme: 07/22/2015 17:53:00 - Düzeltme: 1.0

Microsoft .NET Framework 4.6

  • kbsurveynew kbexpertiseadvanced kbtshoot kbmt KB3076436 KbMttr
Geri bildirim