Làm thế nào để khắc phục lỗi "Một kết nối hiện tại đã bị buộc đóng bởi máy chủ từ xa"?
Máy tính từ xa là máy tính không có sự hiện diện thực tế; nó chỉ có thể được truy cập thông qua một số loại mạng máy tính. Máy chủ từ xa là máy tính lưu trữ mạng chứa máy tính từ xa và máy khách từ xa là người dùng của máy khách từ xa trên mạng. Tính năng này đã tạo ra một cuộc cách mạng cho rất nhiều quy trình và cũng có phạm vi rộng lớn trong tương lai.
Tuy nhiên, gần đây, rất nhiều báo cáo đã được đưa ra về “một kết nối hiện có đã bị buộc đóng bởi máy chủ từ xa”Lỗi khi cố gắng kết nối với máy chủ từ xa. Lỗi này được kích hoạt với kết nối ổ cắm giữa máy khách và máy chủ. Trong bài viết này, chúng tôi sẽ cung cấp một số giải pháp khả thi để khắc phục hoàn toàn lỗi này và cũng thông báo cho bạn những lý do gây ra lỗi này.
Nguyên nhân nào gây ra Lỗi "Một kết nối hiện có bị buộc đóng bởi máy chủ từ xa" trong Windows?
Sau khi nhận được nhiều báo cáo từ nhiều người dùng, chúng tôi quyết định điều tra vấn đề và đưa ra một loạt giải pháp để khắc phục. Ngoài ra, chúng tôi đã xem xét các lý do mà nó được kích hoạt và liệt kê chúng bên dưới.
Bây giờ bạn đã hiểu cơ bản về bản chất của vấn đề, chúng ta sẽ chuyển sang các giải pháp. Đảm bảo thực hiện những điều này theo thứ tự cụ thể mà chúng được trình bày để tránh xung đột.
Giải pháp 1: Bật mật mã
Nếu Cryptography đã bị vô hiệu hóa cho máy của bạn, việc sử dụng TLS 1.2 sẽ bị cấm. Do đó, trong bước này, chúng tôi sẽ kích hoạt Cryptography. Vì điều đó:
- Nhấn "các cửa sổ” + “R”Để mở lời nhắc Chạy.
- Gõ vào "Regedit" và hãy nhấn "Đi vào“.
- Điều hướng đến địa chỉ sau
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.3031
Điều hướng đến địa chỉ này nếu không có “SchUseStrongCrypto”Trong khung bên phải.
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319
- Trong ngăn bên phải, nhấp đúp vào “SchUseStrongCrypto"Và nhập"1”Dưới dạng dữ liệu Giá trị.
- Bấm vào "đồng ý”Để lưu các thay đổi của bạn và kiểm tra để xem sự cố vẫn tiếp diễn.
Giải pháp 2: Buộc sử dụng TLS 1.2
Nếu ứng dụng đã được định cấu hình để sử dụng TLS 1.1 hoặc TLS 1.0 thay vì TLS 1.2, nó có thể gây ra lỗi này. Do đó, trong bước này, chúng ta sẽ cấu hình máy tính của mình để sử dụng TLS 1.2. Vì điều đó:
- Điều hướng đến thư mục gốc của trang web và nhấp chuột phải vào “Global.asax” tập tin.
- Lựa chọn "Lượt xem Mã”Từ danh sách.
- Nên có một “Application_Start”, Hãy thêm dòng mã sau vào phương thức đó
if (ServicePointManager.SecurityProtocol.HasFlag (SecurityProtocolType.Tls12) == false) {ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls12; }
- Tiết kiệm những thay đổi của bạn và kiểm tra để xem sự cố vẫn tiếp diễn.
Giải pháp 3: Thay đổi triển khai Socket
Nếu một triển khai socket nhất định có lỗi hoặc trục trặc trong đó, nó có thể ngăn các phần tử nhất định của ứng dụng hoạt động bình thường do đó lỗi này có thể được kích hoạt. Do đó, trong bước này, chúng tôi sẽ cấu hình nó để sử dụng một triển khai khác. Vì điều đó:
- Hãy chắc chắn rằng bạn có một “StateObjeclớp t ”với“public byte [] buffer = new byte [1024], ổ cắm Socket chung;“.
- Gọi "Nhận (Socket s)”Và gọi mã sau trong“void ReceiveCallback (IAsyncResult ar)”
Mã lỗi SocketError; int nBytesRec = socket.EndReceive (ar, out errorCode); if (errorCode! = SocketError.Success) {nBytesRec = 0; }
- Kiểm tra xem sự cố vẫn tiếp diễn sau khi triển khai mã này.
Giải pháp 4: Thêm dòng lệnh (Chỉ dành cho khung thực thể)
Nếu bạn đang sử dụng Khung thực thể, có thể một dòng mã nhất định có thể bị thiếu. Do đó, trong bước này, chúng tôi sẽ thêm dòng mã đó để khắc phục sự cố này. Vì điều đó:
- Mở “.edmx”Và mở tệp“.context.tt”Tệp bên dưới nó.
- Mở ".context.cs”Và thêm dòng mã sau vào hàm tạo của bạn
public DBEntities (): base ("name = DBEntities") {this.Configuration.ProxyCreationEnabled = false; // THÊM DÒNG NÀY! }
- Kiểm tra xem sự cố vẫn tiếp diễn sau khi thêm dòng mã này.
Giải pháp 5: Cập nhật .NET Framework
Cần có phiên bản mới nhất của Framework “.NET” để mọi thứ hoạt động trơn tru. Do đó, trong bước này, chúng tôi sẽ tải xuống phiên bản mới nhất từ trang web và cài đặt nó. Vì điều đó:
- Điều hướng đến liên kết này để tải xuống thiết lập.
- Thực hiện lệnh “.exe”Để bắt đầu quá trình cài đặt.
- Theo hướng dẫn trên màn hình để cài đặt ứng dụng trên máy tính của bạn.
- Kiểm tra để xem sự cố vẫn tiếp diễn sau khi hoàn tất cài đặt.