Paano Ayusin ang 'Isang Umiiral na Koneksyon ay Puwersahang Isinara ng Error ng Remote Host'?



Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema

Ang isang malayong computer ay ang isa na walang pisikal na presensya; maaari itong ma-access sa pamamagitan lamang ng ilang uri ng isang computer network. Ang Remote Host ay ang computer na nagho-host ng network na nagho-host sa remote computer at ang remote client ay ang gumagamit ng remote client sa network. Ang tampok na ito ay nagbago ng maraming mga proseso at may mahusay na saklaw sa hinaharap din.



Ang Isang Umiiral na Koneksyon ay sapilitang isinara ng error sa lokal na host



Gayunpaman, kamakailan lamang, maraming mga ulat ang nanggagaling sa isang ' isang umiiral na koneksyon ay sapilitang isinara ng remote host ”Error habang sinusubukang kumonekta sa remote host. Ang error na ito ay napalitaw ng isang koneksyon sa socket sa pagitan ng isang client at isang server. Sa artikulong ito, magbibigay kami ng ilang mga mabubuhay na solusyon upang ganap na maitama ang error na ito at ipaalam din sa iyo ang mga kadahilanan na nagpapalitaw sa error na ito.



Ano ang Sanhi ng 'Isang mayroon nang koneksyon ay sapilitang isinara ng remote host' Error sa Windows?

Matapos makatanggap ng maraming ulat mula sa maraming mga gumagamit, nagpasya kaming siyasatin ang isyu at gumawa ng isang hanay ng mga solusyon upang ayusin ito. Gayundin, tiningnan namin ang mga dahilan dahil sa kung saan ito ay na-trigger at nakalista ang mga ito sa ibaba.

  • Paggamit ng TLS 1.1 / 1.0: Kung ang application ay tumatakbo sa TLS 1.1 o TLS 1.0, maaari itong ma-trigger ang error na ito dahil sa sila ay nabigyan ng halaga. Ang TLS 1.2 ay ang paraan upang pumunta kapag pumipili ng protokol na ginagamit ng application.
  • Hindi pinagana ang Cryptography: Kung ang Cryptography ay hindi pinagana para sa iyong makina pipigilan ang paggamit ng TLS 1.2 at babagsak sa TLS 1.0 na maaaring magpalitaw ng error.
  • Pagpapatupad ng Socket: Sa ilang mga kaso, ang isang partikular na uri ng pagpapatupad ng socket ay nagpapalitaw ng error. Mayroong isang bug na may ilang mga pagpapatupad ng '.NET' application at maaaring maging sanhi ito ng error na ito.
  • Nawawalang Code: Para sa ilang mga tao na gumagamit ng Entity Framework, napansin na ang isang tiyak na linya ng code ay nawawala sanhi kung saan na-trigger ang error.
  • Hindi napapanahong Framework na '.NET': Sa ilang mga kaso, kung ang Framework na '.NET' ay hindi pinagana, ang error na ito ay maaaring ma-trigger. Ang ilang mga gawain ay nangangailangan ng balangkas na '.NET' upang ma-update sa pinakabagong bersyon upang gumana nang maayos.

Ngayon na mayroon kang isang pangunahing pag-unawa sa likas na katangian ng problema, magpapatuloy kami patungo sa mga solusyon. Tiyaking ipatupad ang mga ito sa tukoy na pagkakasunud-sunod kung saan ipinakita ang mga ito upang maiwasan ang mga hidwaan.

Solusyon 1: Paganahin ang Cryptography

Kung ang Cryptography ay hindi pinagana para sa iyong machine ang paggamit ng TLS 1.2 ay ipinagbabawal. Samakatuwid, sa hakbang na ito, paganahin ang Cryptography. Para doon:



  1. Pindutin ang “ Windows '+' R ”Upang buksan ang Run prompt.
  2. I-type 'Regedit' at pindutin ang Pasok '.

    Nagta-type sa 'Regedit' at pinindot ang 'Enter'

  3. Mag-navigate sa sumusunod na address
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    Mag-navigate sa address na ito kung walang “ SchUseStrongCrypto ”Na halaga sa kanang pane.

    HKEY_LOCAL_MACHINE  SOFTWARE  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. Sa kanang pane, mag-double click sa “ SchUseStrongCrypto 'Pagpipilian at ipasok ang' 1 ”Bilang data ng Halaga.

    Dobleng pag-click sa halagang 'SchUseStrongCrypto' sa kanang pane

  5. Mag-click sa ' OK lang ”Upang mai-save ang iyong mga pagbabago at suriin upang makita kung mananatili ang isyu.

Solusyon 2: Pagpipilit sa Paggamit ng TLS 1.2

Kung ang application ay na-configure upang magamit ang TLS 1.1 o TLS 1.0 sa halip na ang TLS 1.2, maaari itong mag-trigger ng error na ito. Samakatuwid, sa hakbang na ito, ise-configure namin ang aming computer upang magamit ang TLS 1.2. Para doon:

  1. Mag-navigate sa ugat ng site at mag-right click sa 'Global.asax' file
  2. Piliin ang “ Tingnan Code ”Mula sa listahan.
  3. Dapat mayroong isang “ Application_Start ”Paraan, idagdag ang sumusunod na linya ng code sa pamamaraang iyon
    kung (ServicePointManager.SecurityProtocol.HasFlag(SecurityProtocolType.Tls12) == hindi totoo) SecurityProtocolType.Tls12;

    Pagdaragdag ng mga linya sa code

  4. Magtipid iyong mga pagbabago at suriin upang makita kung mananatili ang isyu.

Solusyon 3: Pagbabago ng Pagpapatupad ng Socket

Kung ang isang tiyak na pagpapatupad ng socket ay may isang bug o glitch dito, maaaring mapigilan nito ang ilang mga elemento ng application na gumana nang maayos dahil sa kung saan maaaring mag-trigger ang error na ito. Samakatuwid, sa hakbang na ito, ise-configure namin ito upang gumamit ng ibang pagpapatupad. Para doon:

  1. Siguraduhin na mayroon kang isang StateObjec t 'klase na may' pampublikong byte [] buffer = bagong byte [1024], public Socket socket; '.
  2. Tawagin mo ang ' Makatanggap (Socket s) 'Function at tawagan ang sumusunod na code sa' walang bisa ang ReceiveCallback (IAsyncResult ar) '
     SocketErrorerrorCode; intnBytesRec=socket.Tanggapin(Kasama si, palabaserrorCode); kung (errorCode! = SocketError.Tagumpay) {nBytesRec= 0; }
  3. Suriin upang makita kung magpapatuloy ang isyu pagkatapos ipatupad ang code na ito.

Solusyon 4: Pagdaragdag ng Mga Linya ng Command (Tanging para sa Entity Framework)

Kung gumagamit ka ng Entity Framework, posible na ang isang tiyak na linya ng code ay maaaring nawawala. Samakatuwid, sa hakbang na ito, idaragdag namin ang linya ng code upang maayos ang isyung ito. Para doon:

  1. Buksan mo ang iyong ' .edmx ”File at buksan ang“ .context.tt ”File sa ibaba nito.
  2. Buksan ang “ .context.cs ”File at idagdag ang sumusunod na linya ng code sa iyong tagapagbuo
    pampubliko DBEntities() : base('pangalan = DBEntities') { ito.Pag-configure.Pinagana ang ProxyCreation = hindi totoo; // ADD IT LINE LINE! }
  3. Suriin upang makita kung magpapatuloy ang isyu pagkatapos idagdag ang linya ng code na ito.

Solusyon 5: Pag-update ng .NET Framework

Ang pinakabagong bersyon ng Framework na '.NET' ay kinakailangan upang ang lahat ay gumana nang maayos. Samakatuwid, sa hakbang na ito, mai-download namin ang pinakabagong bersyon mula sa site at mai-install ito. Para doon:

  1. Mag-navigate sa ito link upang i-download ang setup.
  2. Isagawa ang “ .exe ”File upang masimulan ang proseso ng pag-install.

    Pagpapatakbo ng maipapatupad na nai-download mula sa Microsoft

  3. Sundan ang mga tagubilin sa onscreen upang mai-install ang application sa iyong computer.
  4. Suriin upang makita kung magpapatuloy ang isyu pagkatapos makumpleto ang pag-install.
Basahin ang 3 minuto