تصحيح: رسالة خطأ في تطبيق.NET الاتصال عن بعد عند استخدام عناوين IPv6: "جرت عملية مأخذ توصيل على مضيف يتعذر الوصول إليه"

الأعراض

يرجى مراعاة السيناريو التالي:
  • في تطبيق العمل عن بعد ل Microsoft.NET Framework على جهاز كمبيوتر يقوم بتشغيل Microsoft Windows XP أو نظام التشغيل Microsoft Windows Server 2003، يمكنك استخدام IP الإصدار 6 (IPv6) عناوين المواقع المحلية أو عناوين الارتباط المحلي IPv6.
  • يستخدم.NET Framework التطبيق عن بعد قناة TcpChannel.
في هذا السيناريو، تتلقى رسالة الخطأ التالية:
System.Net.Sockets.SocketException: جرت عملية مأخذ توصيل على مضيف يتعذر الوصول إليه

السبب

عند استخدام عناوين IPv6 على جهاز كمبيوتر يقوم بتشغيل Windows XP أو Windows Server 2003, Microsoft.NET Framework إزالة معرف المنطقة من معرف مورد منتظم (URI) قبل التطبيق عن بعد الاتصال بالخادم.

عند استخدام عناوين IPv6 على جهاز كمبيوتر يقوم بتشغيل Windows Vista,.NET Framework التطبيق عن بعد يستخدم الشبكة الفرعية المحلية إذا لم يتم تحديد معرف المنطقة. ولذلك، لا تحدث هذه المشكلة في نظام التشغيل Windows Vista.

الحل

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

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

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

ملاحظة: يمكن استخدام هذا الإصلاح العاجل عند استخدام ما يلي:
  • عناوين المواقع المحلية IPv6 أو عناوين الارتباط المحلي IPv6
  • قناة هتبتشانيل
  • تنشيط خادم كائنات
للسيناريوهات الأخرى، اتبع الخطوات الموضحة في قسم "الحل البديل".

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

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

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

يجب إعادة تشغيل جهاز الكمبيوتر بعد تطبيق هذا الإصلاح العاجل.

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

لا يحل هذا الإصلاح العاجل محل أية إصلاحات عاجلة أخرى.

معلومات الملف

يحتوي إصدار اللغة الإنجليزية من هذا الإصلاح العاجل على سمات الملف (أو سمات الملف الأحدث) المسرودة في الجدول التالي. يتم سرد التواريخ والأوقات الخاصة بهذه الملفات بالتوقيت العالمي المتفق عليه (UTC). عند عرض معلومات الملف، يتم تحويلها إلى التوقيت المحلي. لمعرفة الفرق بين التوقيت العالمي المتفق عليه والتوقيت المحلي، استخدم علامة التبويب المنطقة الزمنية في عنصر التاريخ والوقت في "لوحة التحكم".
اسم الملفإصدار الملفحجم الملفالتاريخالوقتالنظام الأساسي
System.runtime.remoting.dll2.0.50727.898299,00828-Jun-200711:30x86

الحل البديل

للتغلب على هذه المشكلة، استخدم إحدى الطرق التالية:
  • إذا كنت تستخدم عناوين المواقع المحلية IPv6 أو عناوين الارتباط المحلي IPv6، استخدم قناة هتبتشانيل بدلاً من قناة TcpChannel.
  • إذا كنت تستخدم قناة TcpChannel، استخدام عناوين IPv6 عمومية بدلاً من عناوين المواقع المحلية IPv6 أو عناوين الارتباط المحلي IPv6.

الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "ينطبق على".

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

لمزيد من المعلومات حول مصطلحات تحديث البرامج، انقر فوق رقم المقال التالي لعرضه في "قاعدة معارف Microsoft":
824684 وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft

معلومات مكدس الاستدعاءات

تتبع المكدس الخادم:
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket(EndPoint ipEndPoint)
at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()
at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)
خصائص

رقم الموضوع: 939525 - آخر مراجعة: 13‏/01‏/2017 - المراجعة: 1

تعليقات