Etäisäntä väkisin sulki olemassa olevan yhteyden korjaamisen & rsquo; Virhe?

Etätietokone on tietokone, jolla ei ole fyysistä läsnäoloa; siihen pääsee vain jonkinlaisen tietokoneverkon kautta. Etäisäntä on tietokone, joka isännöi verkkoa, joka isännöi etätietokonetta, ja etäasiakas on verkon etäasiakkaan käyttäjä. Tämä ominaisuus on mullistanut paljon prosesseja, ja sillä on suuri laajuus myös tulevaisuudessa.

Kuitenkin viime aikoina on tullut paljon raportteja virheestä " olemassa oleva yhteys pakotettiin sulkemaan etäisäntä " -virheestä yrittäessään muodostaa yhteyttä etäisäntään. Tämä virhe laukaistaan, kun työaseman yhteys on asiakkaan ja palvelimen välillä. Tässä artikkelissa annamme joitain toteuttamiskelpoisia ratkaisuja tämän virheen korjaamiseksi kokonaan ja kerromme myös syistä, jotka aiheuttavat tämän virheen.

Mikä aiheuttaa Windows-virheen 'Etäisäntä pakotti olemassa olevan yhteyden väkisin sulkemaan' -virheen?

Saatuamme useita raportteja useilta käyttäjiltä päätimme tutkia ongelmaa ja kehitimme joukon ratkaisuja sen korjaamiseksi. Tutkimme myös syitä, joiden vuoksi se laukaistaan, ja lueteltiin ne alla.

  • TLS 1.1 / 1.0 -käyttö: Jos sovellus on käynnissä TLS 1.1- tai TLS 1.0 -käyttöjärjestelmällä, se saattaa laukaista tämän virheen niiden vanhentumisen vuoksi. TLS 1.2 on oikea tapa valita sovelluksen käyttämä protokolla.
  • Salaus poistettu käytöstä: Jos salaus on poistettu käytöstä koneellesi, se estää TLS 1.2: n käytön ja palaa takaisin TLS 1.0: een, mikä saattaa laukaista virheen.
  • Socket-toteutus: Joissakin tapauksissa tietyn tyyppinen socket-toteutus laukaisee virheen. Jotkut ”.NET” -sovelluksen toteutukset sisältävät virheen, ja se saattaa aiheuttaa tämän virheen.
  • Puuttuva koodi: Joillekin ihmisille, jotka käyttivät Entity Frameworkia, havaittiin, että tietty koodirivi puuttui, minkä vuoksi virhe laukaistiin.
  • Vanhentunut .NET-kehys: Jos tietyissä tapauksissa .NET-kehys on poistettu käytöstä, tämä virhe saattaa laukaista. Tietyt tehtävät edellyttävät .NET-kehyksen päivittämistä uusimpaan versioon, jotta ne toimisivat kunnolla.

Nyt kun sinulla on perustiedot ongelman luonteesta, siirrymme kohti ratkaisuja. Varmista, että toteutat ne siinä järjestyksessä, jossa ne esitetään, konfliktien välttämiseksi.

Ratkaisu 1: Salaus käyttöön

Jos koneesi salaus on poistettu käytöstä, TLS 1.2: n käyttö on kielletty. Siksi tässä vaiheessa otamme salauksen käyttöön. Sen vuoksi:

  1. Paina " Windows " + " R " avataksesi Suorituskehote.
  2. Kirjoita "regedit" ja paina " Enter ".
  3. Siirry seuraavaan osoitteeseen
    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.3031

    Siirry tähän osoitteeseen, jos oikeassa ruudussa ei ole “ SchUseStrongCrypto ” -arvoa.

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319
  4. Kaksoisnapsauta oikeanpuoleisessa ruudussa “ SchUseStrongCrypto ” -vaihtoehtoa ja kirjoita arvotiedoksi1 ”.
  5. Tallenna muutokset napsauttamalla OK ja tarkista , jatkuuko ongelma.

Ratkaisu 2: TLS 1.2 -käytön pakottaminen

Jos sovellus on määritetty käyttämään TLS 1.1: tä tai TLS 1.0: ta TLS 1.2: n sijasta, se saattaa laukaista tämän virheen. Siksi tässä vaiheessa määritämme tietokoneemme käyttämään TLS 1.2: ta. Sen vuoksi:

  1. Siirry sivuston juuriin ja napsauta hiiren kakkospainikkeella “global.asax” -tiedostoa.
  2. Valitse luettelosta " Näytä koodi ".
  3. Olisi oltava " Application_Start " -menetelmä, lisää seuraava koodirivi siihen
    jos (ServicePointManager. SecurityProtocol. HasFlag (SecurityProtocolType. Tls12) == false) SecurityProtocolType. Tls12;              
  4. Tallenna muutokset ja tarkista , jatkuuko ongelma.

Ratkaisu 3: Socket-toteutuksen muuttaminen

Jos tietyssä pistorasiatoteutuksessa on virhe tai virhe, se saattaa estää tiettyjä sovelluksen elementtejä toimimasta oikein, minkä vuoksi tämä virhe saattaa laukaista. Siksi tässä vaiheessa määritämme sen käyttämään eri toteutusta. Sen vuoksi:

  1. Varmista, että sinulla on ” StateObjec t” -luokka ” public byte [] -puskuri = uusi tavu [1024], public Socket -liitäntä; “.
  2. Kutsu ” Vastaanota (Socket s) ” -toiminto ja soita seuraava koodi kohdassa ” void ReceiveCallback (IAsyncResult ar)
     SocketError errorCode ; int nBytesRec = socket . EndReceive ( ar , out errorCode ); if ( errorCode != SocketError . Success ) { nBytesRec = 0 ; } 
  3. Tarkista, jatkuuko ongelma tämän koodin käyttöönoton jälkeen.

Ratkaisu 4: Komentorivien lisääminen (vain entiteettikehykselle)

Jos käytät Entity Frameworkia, on mahdollista, että tietty koodirivi puuttuu. Siksi lisäämme tässä vaiheessa kyseisen koodirivin ongelman korjaamiseksi. Sen vuoksi:

  1. Avaa .edmx- tiedosto ja avaa sen alla oleva .context.tt- tiedosto.
  2. Avaa .context.cs- tiedosto ja lisää seuraava koodirivi konstruktorillesi
     public DBEntities () : base ( "name=DBEntities" ) { this . Configuration . ProxyCreationEnabled = false ; // ADD THIS LINE ! } 
  3. Tarkista, jatkuuko ongelma tämän koodirivin lisäämisen jälkeen.

Ratkaisu 5: .NET Frameworkin päivittäminen

Uusimman version .NET-kehyksestä vaaditaan, jotta kaikki toimisi sujuvasti. Siksi tässä vaiheessa lataamme viimeisimmän version sivustolta ja asennamme sen. Sen vuoksi:

  1. Lataa asennus siirtymällä tähän linkkiin.
  2. Suorita .exe- tiedosto aloittaaksesi asennuksen.
  3. Asenna sovellus tietokoneellesi noudattamalla näytön ohjeita.
  4. Tarkista , jatkuuko ongelma asennuksen jälkeen.