الأعراض
افترض أن قمت بالترقية إلى Microsoft.NET Framework 4، 6 على جهاز الكمبيوتر الخاص بك. عند استخدام تطبيق يستخدم إطار اتصالات Windows (WCF) لإرسال رسائل XML SOAP، الترميز قد يستغرق وقتاً أطول بعض الشيء. في بعض الحالات، قد يؤثر هذا على معدل تطبيق خادم يمكن معالجة الطلبات.
السبب
تحدث هذه المشكلة بسبب المحول برمجي Just-In-Time (JIT) جديد يسمى ريوجيت. يستخدم هذا المحول البرمجي تحسينات مختلفة من المحول البرمجي JIT64 القديمة. لم يتم تحسين أسلوب على مسار رمز التشغيل سريع لترميز السلاسل في إكسملديكتيوناريوريتير لبرنامج التحويل البرمجي JIT جديدة وتعمل التعليمات الأصلية التي تم إنشاؤها بشكل أبطأ والترميز وقتاً أطول. عندما تحتوي رسالة SOAP على عدد كبير من سلاسل إلى ترميز، يتم استخدامه بشكل متكرر هذه التعليمات البرمجية أبطأ وقد يؤثر على وقت الترميز.
الحل
للتغلب على هذه المشكلة، تكوين التطبيق لتعطيل استخدام منشئ الصورة الأصلية للتجميع 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
وبعد ذلك، أضف القيم التالية:-
اسم المفتاح: أوسيليجاسيجيت
النوع: REG_WORD
قيمة: 1 -
اسم المفتاح: ديسابليناتيفيماجيلوادليست
النوع: REG_SZ
قيمة: System.Runtime.Serialization
-
-
إضافة النص التالي إلى < تطبيق >. الملف سمية. إنشاء المقاطع المشار إليها إذا لم تكن هناك فعلا.<configuration> <runtime>
<useLegacyJit enabled="1">
<disableNativeImageLoad>
<assemblyIdentity name="System.Runtime.Serialization" />
</disableNativeImageLoad>
</runtime>
</configuration>
لمزيد من المعلومات حول المشكلات المعروفة في 4.6 إطار عمل.NET، راجع المشكلات ل 4.6 إطار عمل.NET المعروفة.
مزيد من المعلومات
لمزيد من المعلومات حول التغييرات الإصدار المنتج وتأثيرها في 4.6 إطار عمل.NET، راجع توافق التطبيقات في 4.6 إطار عمل.NET.