จะแก้ไขข้อผิดพลาด "การเชื่อมต่อที่มีอยู่ถูกปิดโดยโฮสต์ระยะไกล" ได้อย่างไร

คอมพิวเตอร์ระยะไกลคือคอมพิวเตอร์ที่ไม่มีอยู่จริง สามารถเข้าถึงได้ผ่านเครือข่ายคอมพิวเตอร์บางประเภทเท่านั้น โฮสต์ระยะไกลคือคอมพิวเตอร์ที่โฮสต์เครือข่ายซึ่งโฮสต์คอมพิวเตอร์ระยะไกลและไคลเอนต์ระยะไกลเป็นผู้ใช้ไคลเอ็นต์ระยะไกลบนเครือข่าย คุณลักษณะนี้ได้ปฏิวัติกระบวนการจำนวนมากและมีขอบเขตที่ดีในอนาคตเช่นกัน

อย่างไรก็ตามเมื่อไม่นานมานี้มีรายงานมากมายเกี่ยวกับ“การเชื่อมต่อที่มีอยู่ถูกบังคับปิดโดยโฮสต์ระยะไกล” เกิดข้อผิดพลาดขณะพยายามเชื่อมต่อกับโฮสต์ระยะไกล ข้อผิดพลาดนี้เกิดขึ้นจากการเชื่อมต่อซ็อกเก็ตระหว่างไคลเอนต์และเซิร์ฟเวอร์ ในบทความนี้เราจะนำเสนอแนวทางแก้ไขที่เป็นไปได้เพื่อแก้ไขข้อผิดพลาดนี้อย่างสมบูรณ์และแจ้งให้คุณทราบถึงสาเหตุที่ทำให้เกิดข้อผิดพลาดนี้

อะไรเป็นสาเหตุของข้อผิดพลาด "การเชื่อมต่อที่มีอยู่ถูกปิดโดยโฮสต์ระยะไกล" ใน Windows

หลังจากได้รับรายงานจำนวนมากจากผู้ใช้หลายคนเราจึงตัดสินใจที่จะตรวจสอบปัญหาและคิดหาวิธีแก้ปัญหาเพื่อแก้ไข นอกจากนี้เรายังตรวจสอบสาเหตุที่เกิดขึ้นและระบุไว้ด้านล่าง

เมื่อคุณมีความเข้าใจพื้นฐานเกี่ยวกับลักษณะของปัญหาแล้วเราจะดำเนินการแก้ไขต่อไป ตรวจสอบให้แน่ใจว่าได้ใช้สิ่งเหล่านี้ตามลำดับเฉพาะที่นำเสนอเพื่อหลีกเลี่ยงความขัดแย้ง

โซลูชันที่ 1: การเปิดใช้งานการเข้ารหัส

หากการเข้ารหัสถูกปิดใช้งานสำหรับเครื่องของคุณจะห้ามใช้ TLS 1.2 ดังนั้นในขั้นตอนนี้เราจะเปิดใช้งานการเข้ารหัส สำหรับการที่:

  1. กด“Windows” + “” เพื่อเปิดพรอมต์เรียกใช้
  2. พิมพ์ “ regedit” แล้วกด“ป้อน“.
  3. ไปที่ที่อยู่ต่อไปนี้
    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.3031

    ไปที่ที่อยู่นี้หากไม่มี“SchUseStrongCrypto” ในบานหน้าต่างด้านขวา

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319
  4. ในบานหน้าต่างด้านขวาดับเบิลคลิกที่ "SchUseStrongCrypto” และป้อน“1” เป็นข้อมูลค่า
  5. คลิกที่ "ตกลง” เพื่อบันทึกการเปลี่ยนแปลงของคุณและ ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่

โซลูชันที่ 2: การบังคับใช้ TLS 1.2

หากแอปพลิเคชันได้รับการกำหนดค่าให้ใช้ TLS 1.1 หรือ TLS 1.0 แทน TLS 1.2 อาจทำให้เกิดข้อผิดพลาดนี้ ดังนั้นในขั้นตอนนี้เราจะกำหนดค่าคอมพิวเตอร์ของเราให้ใช้ TLS 1.2 สำหรับการที่:

  1. ไปที่รูทของไซต์และคลิกขวาที่ไฟล์ “ global.asax” ไฟล์.
  2. เลือก“ดู รหัส” จากรายการ
  3. ควรมี“Application_Start"วิธีการเพิ่มบรรทัดของรหัสต่อไปนี้ในวิธีการนั้น
    ถ้า (ServicePointManager.SecurityProtocol.HasFlag (SecurityProtocolType.Tls12) == false) {ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls12; }
  4. บันทึก การเปลี่ยนแปลงของคุณและ ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่

โซลูชันที่ 3: การเปลี่ยนการใช้งานซ็อกเก็ต

หากการใช้งานซ็อกเก็ตบางอย่างมีข้อบกพร่องหรือความผิดพลาดอาจทำให้องค์ประกอบบางอย่างของแอปพลิเคชันทำงานไม่ถูกต้องเนื่องจากข้อผิดพลาดนี้อาจเกิดขึ้น ดังนั้นในขั้นตอนนี้เราจะกำหนดค่าให้ใช้การใช้งานที่แตกต่างกัน สำหรับการที่:

  1. ตรวจสอบให้แน่ใจว่าคุณมี“รัฐt” คลาสกับ“ไบต์สาธารณะ [] บัฟเฟอร์ = ไบต์ใหม่ [1024], ซ็อกเก็ต Socket สาธารณะ;“.
  2. โทรไปที่“รับ (ซ็อกเก็ต)” และเรียกรหัสต่อไปนี้ใน“โมฆะ ReceiveCallback (IAsyncResult ar)
     ข้อผิดพลาด SocketErrorCode; int nBytesRec = socket.EndReceive (ar ออก errorCode); ถ้า (errorCode! = SocketError.Success) {nBytesRec = 0; }
  3. ตรวจสอบดูว่าปัญหายังคงมีอยู่หรือไม่หลังจากติดตั้งโค้ดนี้

โซลูชันที่ 4: การเพิ่มบรรทัดคำสั่ง (สำหรับ Entity Framework เท่านั้น)

หากคุณกำลังใช้ Entity Framework เป็นไปได้ว่าโค้ดบางบรรทัดอาจขาดหายไป ดังนั้นในขั้นตอนนี้เราจะเพิ่มบรรทัดรหัสนั้นเพื่อแก้ไขปัญหานี้ สำหรับการที่:

  1. เปิด“.edmx” และเปิดไฟล์“.context.tt” อยู่ด้านล่าง
  2. เปิด ".context.cs"และเพิ่มบรรทัดของโค้ดต่อไปนี้ในตัวสร้างของคุณ
    DBEntities สาธารณะ (): ฐาน ("name = DBEntities") {this.Configuration.ProxyCreationEnabled = false; // แอดไลน์นี้! }
  3. ตรวจสอบดูว่าปัญหายังคงมีอยู่หรือไม่หลังจากเพิ่มบรรทัดของโค้ดนี้

แนวทางที่ 5: การอัปเดต. NET Framework

ต้องใช้ ".NET" Framework เวอร์ชันล่าสุดเพื่อให้ทุกอย่างทำงานได้อย่างราบรื่น ดังนั้นในขั้นตอนนี้เราจะดาวน์โหลดเวอร์ชันล่าสุดจากไซต์และติดตั้ง สำหรับการที่:

  1. ไปที่ลิงค์นี้เพื่อดาวน์โหลดการตั้งค่า
  2. ดำเนินการตาม“.exe” เพื่อเริ่มกระบวนการติดตั้ง
  3. ติดตาม คำแนะนำบนหน้าจอเพื่อติดตั้งแอปพลิเคชันบนคอมพิวเตอร์ของคุณ
  4. ตรวจสอบ เพื่อดูว่าปัญหายังคงมีอยู่หรือไม่หลังจากเสร็จสิ้นการติดตั้ง
Facebook Twitter Google Plus Pinterest