Kuidas parandada viga "Olemasolev ühendus suleti sunniviisiliselt kaugserveri kaudu"?

Kaugarvuti on arvuti, millel puudub füüsiline kohalolek; sellele pääseb juurde vaid mingisuguse arvutivõrgu kaudu. Kaugmasin on võrku võõrustav arvuti, mis majutab kaugarvutit ja kaugklient on selle võrgu klient. See funktsioon on revolutsiooniliselt muutnud paljusid protsesse ja sellel on ka suur ulatus ka tulevikus.

Olemasolev ühendus suleti kohaliku hostivigu tõttu sunniviisiliselt

Kuid üsna hiljuti on saabunud palju teateid veast “ olemasolev ühendus suleti sunniviisiliselt kaugmajutaja kaudu ”, kui ta üritas ühenduse luua serveriga. See tõrge käivitatakse pistikupesa ühendusega kliendi ja serveri vahel. Selles artiklis pakume mõnda elujõulist lahendust selle vea täielikuks parandamiseks ja teavitame teid ka selle tõrke põhjustavatest põhjustest.

Mis põhjustab Windowsi veateadet "Olemasoleva ühenduse sulges sunniviisiliselt serveri host"?

Pärast arvukate aruannete saamist mitmelt kasutajalt otsustasime probleemi uurida ja töötasime välja lahendusepaketi selle parandamiseks. Samuti uurisime põhjuseid, mille tõttu see käivitatakse, ja loetlesime need allpool.

  • TLS 1.1 / 1.0 kasutamine: kui rakendus töötab TLS 1.1 või TLS 1.0, võib see nende amortiseerumise tõttu selle tõrke käivitada. TLS 1.2 on viis, mida kasutada rakenduse kasutatava protokolli valimisel.
  • Krüptograafia on keelatud: kui krüptograafia on teie masinas keelatud, takistab see TLS 1.2 kasutamist ja langeb tagasi TLS 1.0-le, mis võib tõrke käivitada.
  • Pistikupesa rakendamine: mõnel juhul käivitab tõrke teatud tüüpi pistikupesa rakendamine. Mõne rakenduse .NET rakendusega on viga ja see võib selle tõrke põhjustada.
  • Puuduv kood: mõnede inimeste jaoks, kes kasutasid entiteediraamistikku, täheldati, et teatud koodirida puudub, mille tõttu tõrge käivitati.
  • Aegunud “.NET” -raamistik: kui “.NET” -raamistik on keelatud, võib see tõrge käivituda. Teatud ülesannete nõuetekohaseks tööks tuleb .NET-raamistikku värskendada uusimale versioonile.

Nüüd, kui teil on põhiolemus probleemi olemusest, liigume edasi lahenduste poole. Konfliktide vältimiseks rakendage need kindlasti konkreetses järjekorras.

1. lahendus: krüptograafia lubamine

Kui krüptograafia on teie masinas keelatud, on TLS 1.2 kasutamine keelatud. Seetõttu lubame selles etapis krüptograafia. Selle eest:

  1. Käsuviiba avamiseks vajutage “ Windows ” + “ R ”.
  2. Sisestage “regedit” ja vajutage “ Enter ”.

    Sisestage “Regedit” ja vajutage “Enter”
  3. Liikuge järgmisele aadressile
     HKEY_LOCAL_MACHINE \ TARKVARA \ Microsoft \ .NETFramework \ v4.0.3031 

    Liikuge sellele aadressile, kui parempoolsel paanil pole väärtust „ SchUseStrongCrypto ”.

     HKEY_LOCAL_MACHINE \ TARKVARA \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319 
  4. Topeltklõpsake parempoolsel paanil suvandil „ SchUseStrongCrypto ” ja sisestage väärtuse väärtusena väärtuseks „ 1 ”.

    Topeltklõpsake parempoolsel paanil väärtust „SchUseStrongCrypto”
  5. Klõpsake muudatuste salvestamiseks nuppu „ OK ” ja kontrollige, kas probleem püsib.

Lahendus 2: TLS 1.2 kasutamise sundimine

Kui rakendus on konfigureeritud kasutama TLS 1.2 asemel TLS 1.1 või TLS 1.0, võib see selle tõrke käivitada. Seetõttu konfigureerime selles etapis oma arvuti TLS 1.2 kasutamiseks. Selle eest:

  1. Liikuge saidi juurile ja paremklõpsake faili „global.asax” .
  2. Valige loendist „ View Code ”.
  3. Peaks olema meetod “ Application_Start ”, lisage sellele meetodile järgmine koodirida
     if (ServicePointManager. SecurityProtocol. HasFlag (SecurityProtocolType. Tls12) == false) ServicePointManager. SecurityProtocol = ServicePointManager. Turvalisuse protokoll 

    Ridade lisamine koodile
  4. Salvestage muudatused ja kontrollige, kas probleem püsib.

Lahendus 3: pistikupesa rakendamise muutmine

Kui teatud pistikupesa rakenduses on viga või tõrge, võib see takistada rakenduse teatud elementide nõuetekohast toimimist, mille tõttu see tõrge võib vallanduda. Seetõttu konfigureerime selles etapis selle teistsuguse teostuse kasutamiseks. Selle eest:

  1. Veenduge, et teil oleks klass „ StateObjec t” koos avalike baitide [] puhver = uus bait [1024], avaliku pistikupesaga; “.
  2. Helistage funktsioonile „ Vastuvõtt (pistikupesad) ” ja helistage järgmisele jaotisesvoid ReceiveCallback (IAsyncResult ar) ” järgmisele koodile.
      SocketError errorCode ; int nBytesRec = socket . EndReceive ( ar, out errorCode ); if ( errorCode != SocketError . Success ) { nBytesRec = 0 ; } 
  3. Kontrollige, kas probleem ei kao pärast selle koodi rakendamist.

Lahendus 4: käsuridade lisamine (ainult olemiraamistiku jaoks)

Kui kasutate olemite raamistikku, on võimalik, et teatud koodirea puudub. Seetõttu lisame selle sammu selle probleemi lahendamiseks selles etapis selle koodirea. Selle eest:

  1. Avage oma .edmx- fail ja selle all asuv fail .context.tt .
  2. Avage fail .context.cs ja lisage oma ehitajale järgmine koodirida
      public DBEntities () : base ( "name=DBEntities" ) { this . Configuration . ProxyCreationEnabled = false ; // ADD THIS LINE ! } 
  3. Pärast selle koodirea lisamist kontrollige, kas probleem püsib.

Lahendus 5.: .NET-raamistiku värskendamine

.NET-i raamistiku uusim versioon on vajalik selleks, et kõik sujuvalt toimiks. Seetõttu laadime selles etapis alla uusima versiooni saidilt ja installime selle. Selle eest:

  1. Seadistuse allalaadimiseks minge sellele lingile.
  2. Installimisprotsessi alustamiseks käivitage fail .exe .

    Microsoftist allalaaditud käivitatava faili käitamine
  3. Rakenduse arvutisse installimiseks järgige ekraanil kuvatavaid juhiseid.
  4. Kontrollige, kas probleem püsib ka pärast installimise lõpuleviimist.

Huvitavad Artiklid