Kako popraviti pogrešku 'Postojeći je priključak prisilno zatvoren zbog udaljenog hosta'?



Isprobajte Naš Instrument Za Uklanjanje Problema

Udaljeno računalo je ono koje nema fizičku prisutnost; može mu se pristupiti samo putem neke vrste računalne mreže. Udaljeni host je računalo na kojem se nalazi mreža na kojem se nalazi udaljeno računalo, a udaljeni klijent je korisnik udaljenog klijenta na mreži. Ova je značajka revolucionirala puno procesa i ima velik opseg i u budućnosti.



Pogreška lokalnog hosta prisilno je zatvorila postojeću vezu



Međutim, u posljednje vrijeme dolazi mnogo izvještaja o „ udaljeni je domaćin prisilno zatvorio postojeću vezu 'Pogreška prilikom pokušaja povezivanja s udaljenim hostom. Ova se pogreška pokreće povezivanjem utičnice između klijenta i poslužitelja. U ovom ćemo članku pružiti nekoliko održivih rješenja za potpuno ispravljanje ove pogreške i obavijestiti vas o razlozima koji uzrokuju ovu pogrešku.



Što uzrokuje pogrešku 'Udaljeni je domaćin prisilno zatvorio postojeću vezu' u sustavu Windows?

Nakon što smo primili brojna izvješća od više korisnika, odlučili smo istražiti problem i osmislili smo niz rješenja kako bismo ga riješili. Također, ispitali smo razloge zbog kojih se to pokreće i naveli ih u nastavku.

  • TLS 1.1 / 1.0 Upotreba: Ako se aplikacija izvodi na TLS 1.1 ili TLS 1.0, mogla bi pokrenuti ovu pogrešku zbog njihove amortizacije. TLS 1.2 je put kojim se ide prilikom odabira protokola koji aplikacija koristi.
  • Kriptografija onemogućena: Ako je kriptografija onemogućena za vaš stroj, spriječit će upotrebu TLS 1.2 i vratit će se na TLS 1.0 što bi moglo pokrenuti pogrešku.
  • Implementacija utičnice: U nekim slučajevima pogrešku pokreće određena vrsta implementacije utičnice. Postoji greška u nekim implementacijama aplikacije '.NET' i mogla bi uzrokovati ovu pogrešku.
  • Nedostaje kôd: Za neke ljude koji su koristili Entity Framework, primijećeno je da nedostaje određeni redak koda zbog kojeg se pokrenula pogreška.
  • Zastarjeli '.NET' okvir: U određenim slučajevima, ako je '.NET' Framework onemogućen, možda će se pokrenuti ova pogreška. Određeni zadaci zahtijevaju ažuriranje okvira “.NET” na najnoviju verziju kako bi mogli ispravno raditi.

Sad kad ste osnovno razumjeli prirodu problema, krenut ćemo prema rješenjima. Obavezno ih primijenite u određenom redoslijedu u kojem su predstavljeni kako biste izbjegli sukobe.

Rješenje 1: Omogućavanje kriptografije

Ako je kriptografija onemogućena za vaš stroj, uporaba TLS 1.2 zabranjena je. Stoga ćemo u ovom koraku omogućiti kriptografiju. Za to:



  1. Pritisnite “ Windows '+' R ”Da biste otvorili upit Run.
  2. Upišite 'Regedit' i pritisnite “ Unesi '.

    Upišite 'Regedit' i pritisnite 'Enter'

  3. Dođite do sljedeće adrese
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    Dođite do ove adrese ako nema ' SchUseStrongCrypto 'Vrijednost u desnom oknu.

    HKEY_LOCAL_MACHINE  SOFTWARE  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. U desnom oknu dvaput kliknite na ' SchUseStrongCrypto 'I unesite' 1 ”Kao podaci o vrijednosti.

    Dvaput kliknite na vrijednost 'SchUseStrongCrypto' u desnom oknu

  5. Kliknite na ' u redu 'Za spremanje promjena i ček kako bi provjerili nastavlja li problem.

Rješenje 2: Prisiljavanje upotrebe TLS 1.2

Ako je aplikacija konfigurirana da koristi TLS 1.1 ili TLS 1.0 umjesto TLS 1.2, mogla bi pokrenuti ovu pogrešku. Stoga ćemo u ovom koraku konfigurirati svoje računalo da koristi TLS 1.2. Za to:

  1. Dođite do korijena web stranice i desnom tipkom miša kliknite 'Global.asax' datoteka.
  2. Odaberi ' Pogled Kodirati ”S popisa.
  3. Trebalo bi postojati ' Application_Start ”, Dodajte sljedeći redak koda toj metodi
    ako (ServicePointManager.Sigurnosni protokol.HasFlag(SecurityProtocolType.Tls12) == lažno) SecurityProtocolType.Tls12;

    Dodavanje redaka kodu

  4. Uštedjeti vaše promjene i ček kako bi provjerili nastavlja li problem.

Rješenje 3: Promjena implementacije utičnice

Ako u određenoj implementaciji utičnice postoji programska pogreška ili kvar, to može spriječiti pravilno funkcioniranje određenih elemenata aplikacije zbog čega bi se mogla pokrenuti ova pogreška. Stoga ćemo ga u ovom koraku konfigurirati da koristi drugu implementaciju. Za to:

  1. Obavezno imajte StateObjec t 'klasa s' javni bajt [] međuspremnik = novi bajt [1024], javna utičnica utičnice; '.
  2. Nazovite Primanje (utičnice) I pozovite sljedeći kôd u “ poništi ReceiveCallback (ar IAsyncResult) '
     SocketErrorkod pogreške; intnBytesRec=utičnica.EndReceive(S, vankod pogreške); ako (kod pogreške! = SocketError.Uspjeh) {nBytesRec= 0; }
  3. Provjerite ostaje li problem nakon implementacije ovog koda.

Rješenje 4: Dodavanje naredbenih redaka (samo za entitetski okvir)

Ako koristite Entity Framework, moguće je da nedostaje određeni redak koda. Stoga ćemo u ovom koraku dodati taj redak koda kako bismo riješili ovaj problem. Za to:

  1. Otvorite svoj .edmx 'I otvorite' .kontekst.tt Datoteka ispod nje.
  2. Otvori ' .kontekst.cs ”I dodajte sljedeći redak koda u svoj konstruktor
    javnost DBEntities() : baza('ime = DBEntities') { ovaj.Konfiguracija.ProxyCreationEnabled = lažno; // DODAJTE OVAJ RED! }
  3. Provjerite ostaje li problem nakon dodavanja ovog retka koda.

Rješenje 5: Ažuriranje .NET Framework-a

Potrebna je najnovija verzija '.NET' okvira kako bi sve moglo nesmetano funkcionirati. Stoga ćemo u ovom koraku preuzeti najnoviju verziju s web mjesta i instalirati je. Za to:

  1. Dođite do ovaj link za preuzimanje postavki.
  2. Izvršite ' .exe 'Kako bi započeo postupak instalacije.

    Pokretanje izvršne datoteke preuzete s Microsofta

  3. slijediti zaslonske upute za instaliranje aplikacije na računalo.
  4. Ček kako biste vidjeli ostaje li problem nakon dovršetka instalacije.
3 minute čitanja