لتطبيق هذا الإصلاح العاجل التراكمي، انتقل إلى مقالة قاعدة المعارف التالية وتحميل التجميع الصحيح الإصلاح العاجل:

2925383 مجموعة تحديثات الإصلاح العاجل 2925383 يتوفر ل.NET Framework 4.5.1 في Windows

مقدمة

توضح هذه المقالة مجموعة تحديثات الإصلاح العاجل 2908385 المتوفرة ل Microsoft.NET Framework 4.5.1. لمزيد من المعلومات حول الإصلاح العاجل بحل المشكلة، راجع قسم "مزيد من المعلومات".

يتوفر هذا الإصلاح العاجل التراكمي لأنظمة التشغيل التالية:

  • Windows 8

  • Windows Server 2012


مزيد من المعلومات

معلومات الإصلاح العاجل

الآن يتوفر إصلاح عاجل معتمد من Microsoft. ومع ذلك، الغرض منه هو حل المشكلة الموضحة في هذه المقالة فقط. تطبيقها فقط على الأنظمة التي تواجه هذه المشكلة بالتحديد.

لحل هذه المشكلة، اتصل بخدمات دعم العملاء في Microsoft للحصول على الإصلاح العاجل. للحصول على قائمة كاملة من أرقام هواتف خدمات دعم العملاء في Microsoft وعلى معلومات حول تكاليف الدعم، الرجاء زيارة موقع Microsoft التالي على الويب:

http://support.microsoft.com/contactus/?ws=supportملاحظة: في بعض الحالات، قد يتم إلغاء المصروفات التي تحتسب عادة على مكالمات الدعم إذا قرر أخصائي الدعم لدى Microsoft أن تحديثًا معيناً سوف يعمل على حل المشكلة. سيتم اضافة تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشاكل التي لا يأهل على حلها للتحديث المطلوب.

المتطلبات الأساسية

لتطبيق هذا الإصلاح العاجل، يجب أن يكون لديك 4.5.1 تثبيت.NET Framework.

متطلبات إعادة التشغيل

يجب عليك إعادة تشغيل الكمبيوتر بعد تطبيق هذا الإصلاح العاجل في حالة استخدام أي الملفات المتأثرة. نوصي بإغلاق كافة التطبيقات المستندة إلى NET Framework قبل تثبيت هذا الإصلاح الجديد.

معلومات استبدال الإصلاح العاجل

لا يستبدل حزمة الإصلاحات الجديدة هذه حزمة الإصلاحات الجديدة التي تم إصدارها مسبقاً.


المشكلات التي يحل هذا الإصلاح العاجل التراكمي

المشكلة الأولى

Symptoms

افترض يمكنك استدعاء الأسلوب Application.DoEvents() من معالج الحدث ValueChanged لعنصر التحكم NumericUpDown . على سبيل المثال، استخدم التعليمات البرمجية التالية:private void numericUpDown1_ValueChanged(object sender, EventArgs e){
for (int i = 0; i < 10; i++)
{
Application.DoEvents();
Thread.Sleep(10);
}
}
عند الضغط على أعلى أو زر السهم لأسفل لبضع ثوان، عنصر التحكم يقوم بإنشاء مؤقت لتوليد زيادات المتكررة أو الانقاص. تتم معالجة التجزئة جهاز ضبط الوقت مرة أخرى في Application.DoEvents . يؤدي حدث ValueChanged جديد. وبعد ذلك، قم بإعادة إدخال معالج الأحداث التجزئة جهاز ضبط الوقت. عند تحرير زر الماوس، جهاز ضبط الوقت دمرت في المعالج في أسفل المكدس، لكن ثم يعاد مرة أخرى كما كان يجري تفكيك المكدس بالمعالجات الأخرى. يؤدي استثناء مرجع فارغ وعطل.



الحل البديل

للتغلب على هذه المشكلة، استخدم BeginInvoke لاستدعاء Application.DoEvents() بشكل غير متزامن بعد معالجة الحدث جهاز ضبط الوقت. على سبيل المثال، استخدم الفئة التالية لتجاوز السلوك الافتراضي:public class MyNumericUpDown : System.Windows.Forms.NumericUpDown{
public NumericUpDown() : base()
{
}
protected override void OnValueChanged(EventArgs e)
{
// run the handler as a separate event to prevent re-entrance to prevent a NullRef when hitting.
if (IsHandleCreated)
BeginInvoke(new Action(() => base.OnValueChanged(e)));
else
base.OnValueChanged(e);
}
}
ملاحظة: وبشكل عام، نوصي بإدخال حلقة رسالة (Application.DoEvents) من معالج رسالة (ValueChanged المجمعة من معالج الرسالة Timer.OnTick )، لأن ذلك قد يؤدي إلى تجاوز سعة المكدس. على سبيل المثال، نطاق التحكم NumericUpDown كبير، ويثبت المستخدم على زر السهم لفترة طويلة. استخدم BeginInvoke لتجنب تجاوز سعة المكدس. هذا الإصلاح الجديد لا يتناول هذه المسألة.

المشكلة الثانية

الأعراض

نسخ نص منسق من مستند XPS طويل قد تستغرق عدة دقائق، استناداً إلى موضع النص في المستند، ويمكن أن يؤدي إلى تجميد التطبيق.

Cause

تحدث هذه المشكلة نظراً لأن بعض الإعلانات التنسيق تتطلب فحص المستند من البداية حتى التحديد المطلوب. وهذه الإعلانات نادرة (أنها تأتي من عناصر المخصصة التي تحتوي على سمة تيكستيليمينتيديتينجبيهافيوراتريبوتي التي لم يتم وضع علامة إيستيبوجرافيكونلي).

يتم تغيير المنطق في هذا الإصلاح العاجل لتجنب تكلفة الفحص عند ظهور مثل هذه الإعلانات في التحديد المطلوب.

المشكلة الثالثة

الأعراض

قد لا يتم عرض TextBlock أساس العرض تقديمي ل Windows (WPF) حرف واحد أو أكثر إلى نهاية النص الخاص به. تحدث هذه المشكلة إذا تحققت الحالتين التاليتين:

  • تمكين تيكستورابينج أو تيكستريمينج.

  • ترك مساحة غير صفرية أو تيكستفورماتينجمودي هو "عرض".

  • لم يتم تعيين العرض، أو تم تعيينها إلى "تلقائي".

  • مجموعة الخطوط وحجم الخط أحرف معينة في النص يؤدي إلى عرض غير مواتية.

Cause

تحدث هذه المشكلة بسبب أخطاء الرقمية (التقريب خطأ) التي يمكن أن تحدث أثناء استخدام الكمبيوتر عرض النص، تحويل العرض بين الأنظمة الداخلية الإحداثيات، تمثل المسافة البادئة ومحاذاه النص إلى حدود وضع العرض.

تمت إضافة حماية ضد هذه الأنواع من الأخطاء للحسابات، للتأكد من أنه سيتم عرض كافة الأحرف التي يجب عرضها.

المسألة 4

يمكن أن يؤدي تثبيت كائنات تجزئة ذاكرة كومة الذاكرة المؤقتة كثيرا تسبب انخفاض في الأداء. يوفر هذا الإصلاح أكثر فعالية إعادة استخدام مخازن الذاكرة، مما يقلل من تجزئة الذاكرة في كومة الذاكرة المؤقتة.

المسألة 5

في بعض الأحيان، يمكن أن تواجه تطبيق استثناء خرق وصول أثناء AppDomain بعد خلفية عملية "تجميع البيانات المهملة".

المسألة 6

أدوات التشخيص التي آلات إيل باستخدام API التعريف يمكن أن يسبب وقت تشغيل اللغة العامة (CLR) طرح استثناء لم تتم معالجته التالية:

0X80131401 "= SECURITY_E_INCOMPATIBLE_SHARE. تحميل هذا التجميع ستنتج مجموعة منح مختلفة عن المثيلات الأخرى.


بالإضافة إلى ذلك، تعطل العملية. تحدث هذه المشكلة فقط عند استخدامك لأدوات التشخيص.

المسألة 7

عند استخدام اتصالات Windows (WCF) 4.5 هتبميساجيهاندلير نقطة القابلية للتوسعة (تعرف أيضا باسم تدفقات HTTP WCF)، يتعذر تعيين رأس المصادقة WWW على هتبريقويستميساجي أو هتبريسبونسيميساجي. وهذا لأنه يستخدم نقطة القابلية للتوسعة الجديدة هتبميساجيهاندلير إليه مختلفة لمعالجة الرؤوس.

بعد تطبيق هذا الإصلاح العاجل، يوجه آليتين لإضافة رؤوس التماثل وواحدة يجب أن تكون قادراً على إضافة رؤوس مصادقة موقع ويب مرة أخرى.

المسألة 8

يتم طرح استثناء نولريفيرينسيكسسيبشن من الأسلوب SqlInternalConnectionTds.BreakConnection . هذا الإصلاح العاجل بحل المشكلة التوقيت الذي يؤدي إلى استثناء نولريفيرينسيكسسيبشن .

العدد 9

الأعراض

افترض أن لديك تطبيق WCF يستخدم فئة بيناريميساجينكودير ، ويستخدم الترميز utf-8 إلى بناء سجل نص كل MC-نبفكس. أو افترض أن لديك تطبيق WCF يستخدم الأسلوب System.ServiceModel.Channels.Message.CreateBufferedCopy . معالجة رسالة تحتوي على أحرف في النطاق من U + 10000 إلى U + 10FFFF (ضمناً) التي تتمثل في utf-8 كتسلسل 4 بايت. في هذه الحالة، قد تفقد الرسالة الثنائية المرمزة، وتتلقى رسالة الخطأ التالية:

System.ArgumentException: The output char buffer is too small to contain the decoded characters, encoding 'Unicode (UTF-8)' fallback 'System.Text.DecoderExceptionFallback'.Parameter name: chars
at System.Text.Encoding.ThrowCharsOverflow()
at System.Text.Encoding.ThrowCharsOverflow(DecoderNLS decoder, Boolean nothingDecoded)
at System.Text.UTF8Encoding.GetChars(Byte* bytes, Int32 byteCount, Char* chars, Int32 charCount, DecoderNLS baseDecoder)
at System.Text.DecoderNLS.GetChars(Byte* bytes, Int32 byteCount, Char* chars, Int32 charCount, Boolean flush)
at System.Text.DecoderNLS.GetChars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex, Boolean flush)
at System.Text.DecoderNLS.GetChars(Byte[] bytes, Int32 byteIndex, Int32 byteCount, Char[] chars, Int32 charIndex)
at System.Xml.ValueHandle.TryReadChars(Char[] chars, Int32 offset, Int32 count, Int32& actual)
at System.Xml.XmlBaseReader.ReadValueChunk(Char[] chars, Int32 offset, Int32 count)
at System.Xml.XmlBinaryWriter.WriteTextNode(XmlDictionaryReader reader, Boolean attribute)
at System.Xml.XmlDictionaryWriter.WriteNode(XmlDictionaryReader reader, Boolean defattr)
at System.ServiceModel.Channels.ReceivedMessage.OnWriteBodyContents(XmlDictionaryWriter writer)
at System.ServiceModel.Channels.Message.OnWriteMessage(XmlDictionaryWriter writer)
at System.ServiceModel.Channels.Message.OnCreateBufferedCopy(Int32 maxBufferSize, XmlDictionaryReaderQuotas quotas)
at System.ServiceModel.Channels.StreamedMessage.OnCreateBufferedCopy(Int32 maxBufferSize)
at System.ServiceModel.Channels.Message.CreateBufferedCopy(Int32 maxBufferSize)
at ConsoleApplication1.BufferRequestChannel.WrappingRequestContext.BufferMessage()

عند حدوث هذه المشكلة، العميل مهلة دون استجابة في حالة تطبيق WCF النفسانية. إذا كان التطبيق WCF استضافة ويب (ASP.NET)، ستتلقى خطأ خادم 500 العميل.

السبب

تحدث هذه المشكلة بسبب تفصيل تطبيق داخلي يخصص مساحة غير كافية في بعض الأحيان عندما يتم فك ترميزها تسلسل الأحرف utf-8 إلى 4 بايت.

الحل

لحل هذه المشكلة، تطبيق الإصلاح العاجل. بعد تثبيت الإصلاح الجديد، تطبيق WCF ينتظر التالي
أسلوب القراءة لفك ترميز الأحرف إذا كان هناك مساحة كافية في المخزن المؤقت للإخراج لفك ترميز أحرف Unicode متعددة البايت.

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة الترجمة؟
ما الذي أثّر في تجربتك؟

نشكرك على ملاحظاتك!

×