Kaip išspręsti klaidą „Esamą ryšį priverstinai uždarė nuotolinis kompiuteris“?



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

Nuotolinis kompiuteris yra tas, kuriame nėra fizinio buvimo; prie jo galima prisijungti tik per tam tikrą kompiuterių tinklą. Nuotolinis kompiuteris yra kompiuteris, kuriame talpinamas tinklas, kuriame yra nuotolinis kompiuteris, o nuotolinis klientas yra nuotolinio kliento tinkle vartotojas. Ši funkcija sukėlė revoliuciją daugelyje procesų ir turi didelę apimtį ir ateityje.



Esamą ryšį priverstinai uždarė vietinio pagrindinio kompiuterio klaida



Tačiau visai neseniai buvo pateikta daug pranešimų apie „ esamą jungtį per prievartą uždarė nuotolinis kompiuteris “Klaida bandant prisijungti prie nuotolinio kompiuterio. Ši klaida suveikia naudojant kliento ir serverio jungtį. Šiame straipsnyje pateiksime keletą perspektyvių sprendimų, kaip visiškai ištaisyti šią klaidą, taip pat informuosime apie priežastis, dėl kurių atsiranda ši klaida.



Kas sukelia „Esamą ryšį priverstinai uždarė nuotolinis kompiuteris“ klaida sistemoje „Windows“?

Gavę daugybę pranešimų iš kelių vartotojų, nusprendėme ištirti problemą ir sukūrėme sprendimų rinkinį, kaip ją išspręsti. Be to, mes išnagrinėjome priežastis, dėl kurių jis suveikė, ir išvardinome juos žemiau.

  • TLS 1.1 / 1.0 naudojimas: Jei programa veikia naudojant TLS 1.1 arba TLS 1.0, ji gali sukelti šią klaidą dėl jų nuvertėjimo. TLS 1.2 yra kelias, kurį reikia pasirinkti, kai programa naudoja protokolą.
  • Kriptografija išjungta: Jei jūsų mašinoje buvo išjungta kriptografija, tai neleis naudoti TLS 1.2 ir vėl bus naudojama TLS 1.0, o tai gali sukelti klaidą.
  • Lizdo įgyvendinimas: Kai kuriais atvejais klaidą sukelia tam tikras lizdo diegimo tipas. Yra klaida su kai kuriais „.NET“ programos diegimais ir tai gali sukelti šią klaidą.
  • Trūksta kodo: Kai kuriems žmonėms, kurie naudojo „Entity Framework“, buvo pastebėta, kad trūksta tam tikros kodo eilutės, dėl kurios buvo suaktyvinta klaida.
  • Pasenusi „.NET“ sistema: Tam tikrais atvejais, jei „.NET“ sistema buvo išjungta, ši klaida gali būti suaktyvinta. Tam tikroms užduotims atlikti reikia, kad „.NET“ sistema būtų atnaujinta į naujausią versiją, kad jos veiktų tinkamai.

Dabar, kai jūs iš esmės suprantate problemos pobūdį, mes eisime prie sprendimų. Kad išvengtumėte konfliktų, būtinai juos įgyvendinkite ta tvarka, kuria jie pateikiami.

1 sprendimas: įjungti kriptografiją

Jei jūsų mašinoje buvo išjungta kriptografija, TLS 1.2 naudoti draudžiama. Todėl šiame žingsnyje mes įgalinsime kriptografiją. Už tai:



  1. Paspauskite „ „Windows“ „+“ R “, Kad atidarytumėte eilutę Vykdyti.
  2. Įrašykite „Regedit“ ir paspauskite „ Įveskite '.

    Įveskite „Regedit“ ir paspauskite „Enter“

  3. Eikite į šį adresą
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    Eikite į šį adresą, jei nėra „SchUseStrongCrypto“ “Dešiniojoje srityje.

    HKEY_LOCAL_MACHINE  SOFTWARE  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. Dešinėje srityje dukart spustelėkite „ „SchUseStrongCrypto“ “Ir įveskite„ 1 “Kaip vertės duomenys.

    Dukart spustelėkite dešiniojoje srityje esančią „SchUseStrongCrypto“ vertę

  5. Spustelėkite ' Gerai “, Kad išsaugotumėte pakeitimus ir patikrinti ar problema išlieka.

2 sprendimas: priversti naudoti TLS 1.2

Jei programa sukonfigūruota naudoti TLS 1.1 arba TLS 1.0 vietoj TLS 1.2, tai gali sukelti šią klaidą. Todėl šiame žingsnyje mes sukonfigūruosime savo kompiuterį naudoti TLS 1.2. Už tai:

  1. Eikite į svetainės šaknį ir dešiniuoju pelės mygtuku spustelėkite „Global.asax“ failą.
  2. Pasirinkite „ Vaizdas Kodas “Iš sąrašo.
  3. Turėtų būti „ „Application_Start“ “Metodą, prie šio metodo pridėkite šią kodo eilutę
    jei („ServicePointManager“.Saugumo protokolas.„HasFlag“(„SecurityProtocolType“.Tls12) == melagingas) „SecurityProtocolType“.Tls12;

    Eilių pridėjimas prie kodo

  4. Sutaupyti jūsų pakeitimai ir patikrinti ar problema išlieka.

3 sprendimas: „Socket“ diegimas

Jei tam tikrame lizdo diegime yra klaida ar triktis, tai gali užkirsti kelią tam tikriems programos elementams tinkamai veikti, dėl kurių gali atsirasti ši klaida. Todėl šiame žingsnyje mes sukonfigūruosime jį naudoti kitą įgyvendinimą. Už tai:

  1. Įsitikinkite, kad turite ValstybėObjec t “klasė su„ viešasis baitas [] buferis = naujas baitas [1024], viešojo lizdo lizdas; '.
  2. Skambinkite „ Gauti („Socket s“) “Funkciją ir iškvieskite šį kodą„ negaliojantis „ReceiveCallback“ („IAsyncResult ar“) '
     „SocketError“Klaidos kodas; tarptnBytesRec=lizdas.Pabaiga gauti(Su, išėjoKlaidos kodas); jei (Klaidos kodas! = „SocketError“.Sėkmė) {nBytesRec= 0; }
  3. Patikrinkite, ar problema išlieka įdiegus šį kodą.

4 sprendimas: komandinių linijų pridėjimas (tik „Entity Framework“)

Jei naudojate „Entity Framework“, gali būti, kad trūksta tam tikros kodo eilutės. Todėl šiame žingsnyje pridėsime tą kodo eilutę, kad išspręstume šią problemą. Už tai:

  1. Atidaryk savo ' .edmx Failą ir atidarykite .kontekstas.tt “Failą po juo.
  2. Atidaryk ' .kontekstas.cs “Failą ir pridėkite šią kodo eilutę prie savo konstruktoriaus
    visuomenės DBEntities() : bazė(„vardas = DBEntities“) { tai.Konfigūracija.„ProxyCreationEnabled“ = melagingas; // PRIDĖTI ŠIĄ EILUT!! }
  3. Patikrinkite, ar problema išlieka pridėjus šią kodo eilutę.

5 sprendimas: .NET Framework atnaujinimas

Norint, kad viskas veiktų sklandžiai, reikalinga naujausia „.NET“ sistemos versija. Todėl atlikdami šį veiksmą mes atsisiųsime naujausią versiją iš svetainės ir ją įdiegsime. Už tai:

  1. Eikite į tai nuorodą atsisiųsti sąranką.
  2. Vykdykite .exe “Failą, norint pradėti diegimo procesą.

    Vykdomąjį failą, atsisiųstą iš „Microsoft“

  3. Sekite ekrane pateikiamas instrukcijas, kaip įdiegti programą į kompiuterį.
  4. Patikrinti norėdami sužinoti, ar problema išlieka baigus diegti.
3 minutes perskaityta