كيفية إصلاح خطأ 'تم إغلاق الاتصال الحالي قسرًا بواسطة المضيف البعيد'؟



جرب أداة القضاء على المشاكل

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



تم إغلاق الاتصال الموجود بالقوة بسبب خطأ المضيف المحلي



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



ما الذي يسبب خطأ 'تم إغلاق الاتصال الحالي بالقوة من قبل المضيف البعيد' في Windows؟

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

  • استخدام TLS 1.1 / 1.0: إذا كان التطبيق يعمل على TLS 1.1 أو TLS 1.0 ، فقد يؤدي ذلك إلى حدوث هذا الخطأ بسبب إهلاكها. TLS 1.2 هو الطريق الذي يجب اتباعه عند اختيار البروتوكول الذي يستخدمه التطبيق.
  • التشفير معطل: إذا تم تعطيل التشفير لجهازك ، فسيؤدي ذلك إلى منع استخدام TLS 1.2 وسيعود إلى TLS 1.0 مما قد يؤدي إلى حدوث الخطأ.
  • تنفيذ المقبس: في بعض الحالات ، يؤدي نوع معين من تنفيذ مأخذ التوصيل إلى حدوث الخطأ. يوجد خطأ في بعض عمليات التنفيذ بواسطة تطبيق '.NET' وقد يتسبب في حدوث هذا الخطأ.
  • رمز مفقود: بالنسبة لبعض الأشخاص الذين كانوا يستخدمون Entity Framework ، لوحظ أن سطرًا معينًا من التعليمات البرمجية كان مفقودًا بسبب حدوث الخطأ.
  • إطار عمل '.NET' قديم: في بعض الحالات ، إذا تم تعطيل '.NET' Framework ، فقد يتم تشغيل هذا الخطأ. تتطلب مهام معينة تحديث إطار عمل '.NET' إلى أحدث إصدار حتى تعمل بشكل صحيح.

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

الحل 1: تمكين التشفير

إذا تم تعطيل التشفير لجهازك ، فسيتم حظر استخدام TLS 1.2. لذلك ، في هذه الخطوة ، سنعمل على تمكين التشفير. من أجل هذا:



  1. صحافة ' شبابيك '+' ر 'لفتح موجه التشغيل.
  2. اكتب في 'رجديت' و اضغط ' أدخل '.

    كتابة 'Regedit' والضغط على 'Enter'

  3. انتقل إلى العنوان التالي
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    انتقل إلى هذا العنوان إذا لم يكن هناك ' SchUseStrongCrypto 'في الجزء الأيسر.

    HKEY_LOCAL_MACHINE  SOFTWARE  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. في الجزء الأيسر ، انقر نقرًا مزدوجًا فوق ' SchUseStrongCrypto 'الخيار وأدخل' 1 'كبيانات القيمة.

    انقر نقرًا مزدوجًا فوق قيمة 'SchUseStrongCrypto' في الجزء الأيمن

  5. انقر فوق ' حسنا 'لحفظ التغييرات و التحقق من لمعرفة ما إذا كانت المشكلة قائمة.

الحل 2: فرض استخدام TLS 1.2

إذا تم تكوين التطبيق لاستخدام TLS 1.1 أو TLS 1.0 بدلاً من TLS 1.2 ، فقد يؤدي ذلك إلى تشغيل هذا الخطأ. لذلك ، في هذه الخطوة ، سنقوم بتكوين جهاز الكمبيوتر الخاص بنا لاستخدام TLS 1.2. من أجل هذا:

  1. انتقل إلى جذر الموقع وانقر بزر الماوس الأيمن على ملف 'global.asax' ملف.
  2. تحديد ' رأي الشفرة ' من القائمة.
  3. يجب أن يكون هناك ' Application_Start '، أضف السطر التالي من التعليمات البرمجية إلى تلك الطريقة
    إذا (سيرفيبوينت ماناجر.بروتوكول الأمن.HasFlag(SecurityProtocolType.TLS12) == خاطئة) SecurityProtocolType.TLS12؛

    اضافة السطور الى الكود

  4. حفظ التغييرات الخاصة بك و التحقق من لمعرفة ما إذا كانت المشكلة قائمة.

الحل 3: تغيير تنفيذ المقبس

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

  1. تأكد من أن لديك ' الدولة فئة t 'مع' بايت عام [] عازلة = بايت جديد [1024] ، مقبس عام ؛ '.
  2. اتصل ب ' استقبال (مقابس) 'واستدعاء الكود التالي في' ReceiveCallback باطل (IAsyncResult ar) '
     خطأ مقبسخطا بالكود؛ intnBytesRec=قابس كهرباء.النهاية(معو خارجخطا بالكود) ؛ إذا (خطا بالكود! = خطأ مقبس.نجاح) {nBytesRec= 0؛ }
  3. تحقق لمعرفة ما إذا كانت المشكلة لا تزال قائمة بعد تنفيذ هذا الرمز.

الحل 4: إضافة خطوط الأوامر (فقط من أجل Entity Framework)

إذا كنت تستخدم Entity Framework ، فمن المحتمل أن يكون سطر معين من التعليمات البرمجية مفقودًا. لذلك ، في هذه الخطوة ، سنضيف هذا السطر من التعليمات البرمجية لإصلاح هذه المشكلة. من أجل هذا:

  1. افتح ' .edmx 'وافتح' .context.tt ”ملف أسفله.
  2. افتح ال ' .context.cs ”وأضف السطر التالي من التعليمات البرمجية إلى المنشئ الخاص بك
    عامة كيانات DB() : يتمركز('الاسم = DBEntities') { هذه.ترتيب.ProxyCreationEnabled = خاطئة؛ // أضف هذا السطر! }
  3. تحقق لمعرفة ما إذا كانت المشكلة لا تزال قائمة بعد إضافة هذا السطر من التعليمات البرمجية.

الحل 5: تحديث .NET Framework

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

  1. انتقل إلى هذه رابط لتنزيل برنامج الإعداد.
  2. نفذ ' .إملف تنفيذى ”لبدء عملية التثبيت.

    تشغيل الملف القابل للتنفيذ الذي تم تنزيله من Microsoft

  3. إتبع التعليمات التي تظهر على الشاشة لتثبيت التطبيق على جهاز الكمبيوتر الخاص بك.
  4. التحقق من لمعرفة ما إذا كانت المشكلة ستستمر بعد الانتهاء من التثبيت.
3 دقائق للقراءة