Проблема із продуктивністю під Вільний час сценарій виконання служби WCF для надсилання протокол IMAP на XML SOAP .NET Framework-4.6

ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.

Клацніть тут, щоб переглянути цю статтю англійською мовою: 3076436
Ознаки
Припустімо, що оновлення для Microsoft .NET Framework 4.6 на вашому комп'ютері. Якщо використовується застосунок, який використовує Windows Communication Framework(WCF) для надсилання повідомлень з XML SOAP, двопрохідне кодування, може знадобитися трохи більше часу. У деяких випадках це може впливати на швидкість, з якою застосунок-сервер може обробляти запити.
причина
Ця проблема виникає, через новий Just-In-Time JIT-компілятор з іменем RyuJIT. Це компілятор використовує в різних оптимізації компілятор JIT64 попередніх версій, ніж. Метод на шлях, призначених коду для двопрохідне кодування рядків у,XmlDictionaryWriter не оптимізовано для нового JIT-компілятору згенерований власних інструкції, працювати повільніше і двопрохідне кодування триває довше. протокол IMAP SOAP, містить велику кількість рядків бути закодовані, цей повільніше код використовується частіше і може вплинути на Вільний час двопрохідне кодування.
Розв'язанн
Щоб вирішити цю проблему, налаштування, застосунок вимкнути ngen для збирання System.Runtime.Serialization.dll та сценарій виконання застарілих JIT-обробника. Для цього скористайтеся одним із наведених нижче способів.
  • Установіть такі змінні середовища:

    COMPLUS_useLegacyJit = 1
    COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization
  • Створення будь-який із таких підрозділів реєстру:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\. NETFramework
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\. NETFramework

    Додайте такі значення:
    • Ім'я розділу: useLegacyJit
      Тип: REG_WORD
      Значення: 1
    • Ім'я розділу: DisableNativeImageLoadList
      Тип: REG_SZ
      Значення: System.Runtime.Serialization
  • Додати наведений нижче текст у <app>. exe.config файл. Створення, зазначених розділів, якщо вони ще не були встановлені.</app>
    <configuration>         <runtime>              <useLegacyJit enabled="1">             <disableNativeImageLoad>                 <assemblyIdentity name="System.Runtime.Serialization" />             </disableNativeImageLoad>          </runtime>     </configuration>


Щоб отримати додаткові відомості про відомі проблеми, в .NET Framework-4.6 див. Відомі проблеми для .NET Framework-4.6.
Додаткові відомості
Щоб отримати додаткові відомості про зміни версій продуктів і їх наслідки в .NET Framework-4.6 див.Сумісність програм у .NET Framework 4.6.

Попередження. Цю статтю переведено автоматично

Властивості

Ідентифікатор статті: 3076436 – останній перегляд: 07/20/2015 14:21:00 – виправлення: 1.0

Microsoft .NET Framework 4.6

  • kbsurveynew kbexpertiseadvanced kbtshoot kbmt KB3076436 KbMtuk
Зворотний зв’язок