Kā novērst kļūdu “Esošais savienojums tika piespiedu kārtā slēgts ar attālo resursdatoru”?



Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai

Attālais dators ir tas, kuram nav fiziskas klātbūtnes; tam var piekļūt tikai caur sava veida datortīklu. Attālais resursdators ir dators, kas mitina tīklu, kurš mitina attālo datoru, un attālais klients ir attālā klienta tīklā lietotājs. Šī funkcija ir daudzus procesus padarījusi revolucionāru, un tai ir liela darbības joma arī nākotnē.



Esošo savienojumu piespiedu kārtā aizvēra vietējā resursdatora kļūda



Tomēr pavisam nesen ir saņemti daudzi ziņojumi par “ attālais resursdators piespiedu kārtā slēdza esošu savienojumu ”Kļūda, mēģinot izveidot savienojumu ar attālo resursdatoru. Šī kļūda tiek aktivizēta ar kontaktligzdas savienojumu starp klientu un serveri. Šajā rakstā mēs sniegsim dažus dzīvotspējīgus risinājumus, lai pilnībā novērstu šo kļūdu, kā arī informēsim jūs par iemesliem, kas izraisa šo kļūdu.



Kas izraisa kļūdu “Esošo savienojumu piespiedu kārtā aizvēra attālā resursdators” sistēmā Windows?

Pēc vairāku lietotāju daudzu ziņojumu saņemšanas mēs nolēmām izpētīt problēmu un izstrādājām risinājumu kopumu, lai to novērstu. Mēs arī izpētījām iemeslus, kuru dēļ tas tiek aktivizēts, un uzskaitījām tos tālāk.

  • TLS 1.1 / 1.0 Lietošana: Ja lietojumprogramma darbojas ar TLS 1.1 vai TLS 1.0, tā var izraisīt šo kļūdu, jo tās ir nolietotas. TLS 1.2 ir veids, kā iet, izvēloties lietojumprogrammas izmantoto protokolu.
  • Kriptogrāfija ir atspējota: Ja jūsu mašīnai ir atspējota kriptogrāfija, tas neļaus izmantot TLS 1.2 un paliks atpakaļ uz TLS 1.0, kas varētu izraisīt kļūdu.
  • Ligzdas ieviešana: Dažos gadījumos kļūdu izraisa konkrēts kontaktligzdas ieviešanas veids. Ir kļūda ar dažām “.NET” lietojumprogrammas ieviešanām, un tā var izraisīt šo kļūdu.
  • Trūkst koda: Dažiem cilvēkiem, kuri izmantoja Entity Framework, tika novērots, ka trūkst noteiktas koda rindas, kuras dēļ tiek aktivizēta kļūda.
  • Novecojusi “.NET” sistēma: Dažos gadījumos, ja “.NET” ietvars ir atspējots, šī kļūda var tikt aktivizēta. Dažiem uzdevumiem, lai pareizi darbotos, “.NET” ietvars ir jāatjaunina uz jaunāko versiju.

Tagad, kad jums ir pamata izpratne par problēmas būtību, mēs virzīsimies uz risinājumiem. Lai izvairītos no konfliktiem, pārliecinieties, vai tie tiek ieviesti noteiktā secībā, kādā tie tiek parādīti.

1. risinājums: kriptogrāfijas iespējošana

Ja jūsu mašīnai ir atspējota kriptogrāfija, TLS 1.2 lietošana ir aizliegta. Tāpēc šajā solī mēs iespējosim kriptogrāfiju. Par to:



  1. Nospiediet “ Windows '+' R ”, Lai atvērtu uzvedni Run.
  2. Ieraksti “Regedit” un nospiediet “ Enter '.

    Ierakstiet “Regedit” un nospiediet “Enter”

  3. Pārejiet uz šo adresi
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    Pārejiet uz šo adresi, ja nav “ SchUseStrongCrypto ”Vērtība labajā rūtī.

    HKEY_LOCAL_MACHINE  SOFTWARE  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. Labajā rūtī veiciet dubultklikšķi uz SchUseStrongCrypto ”Un ievadiet“ 1 ”Kā vērtības datus.

    Labajā rūtī veiciet dubultklikšķi uz vērtības “SchUseStrongCrypto”

  5. Klikšķiniet uz ' labi ”, Lai saglabātu izmaiņas un pārbaudīt lai redzētu, vai problēma turpinās.

2. risinājums: Piespiest TLS 1.2 lietošanu

Ja lietojumprogramma ir konfigurēta izmantot TLS 1.1 vai TLS 1.0, nevis TLS 1.2, tā var izraisīt šo kļūdu. Tāpēc šajā solī mēs konfigurēsim datoru, lai tas izmantotu TLS 1.2. Par to:

  1. Pārejiet uz vietnes sakni un ar peles labo pogu noklikšķiniet uz “Global.asax” failu.
  2. Atlasiet “ Skats Kods ”No saraksta.
  3. Jābūt “ Application_Start ”Metodi, šai metodei pievienojiet šādu koda rindu
    ja (ServicePointManager.Drošības protokols.HasFlag(SecurityProtocolType.Tls12) == nepatiesa) SecurityProtocolType.Tls12;

    Rindu pievienošana kodam

  4. Saglabāt jūsu izmaiņas un pārbaudīt lai redzētu, vai problēma turpinās.

3. risinājums: Socket ieviešanas maiņa

Ja noteiktā kontaktligzdas ieviešanā ir kļūda vai kļūda, tas var novērst noteiktu lietojumprogrammas elementu pareizu darbību, kuru dēļ šī kļūda var tikt aktivizēta. Tāpēc šajā solī mēs to konfigurēsim, lai izmantotu citu ieviešanu. Par to:

  1. Pārliecinieties, vai jums ir “ ŠtatsObjec t ”klase ar publiskais baits [] buferis = jauns baits [1024], publiskā kontaktligzdas ligzda; '.
  2. Zvaniet uz “ Saņemt (kontaktligzdas) ”Un izsauciet šo kodu sadaļā“ void ReceiveCallback (IAsyncResult ar) '
     SocketErrorkļūdas kods; intnBytesRec=kontaktligzda.EndReceive(ar, ārākļūdas kods); ja (kļūdas kods! = SocketError.Panākumi) {nBytesRec= 0; }
  3. Pēc šī koda ieviešanas pārbaudiet, vai problēma joprojām pastāv.

4. risinājums: komandrindu pievienošana (tikai Entity Framework)

Ja izmantojat Entity Framework, iespējams, ka trūkst noteiktas koda rindas. Tāpēc šajā solī mēs pievienosim šo koda rindu, lai novērstu šo problēmu. Par to:

  1. Atver savu ' .edmx ”Un atveriet“ .text.tt ”Failu zem tā.
  2. Atveriet .context.cs ”Failu un pievienojiet konstruktoram šādu koda rindu
    publiski DBEntities() : bāze('name = DBEntities') { šo.Konfigurācija.ProxyCreationEnabled = nepatiesa; // PIEVIENOT ŠO LĪNIJU! }
  3. Pēc šīs koda rindas pievienošanas pārbaudiet, vai problēma joprojām pastāv.

5. risinājums: .NET Framework atjaunināšana

Lai viss darbotos nevainojami, ir nepieciešama jaunākā “.NET” ietvara versija. Tāpēc šajā solī mēs no vietnes lejupielādēsim un instalēsim jaunāko versiju. Par to:

  1. Virzieties uz šo saiti, lai lejupielādētu iestatījumus.
  2. Izpildiet “ .exe ”Failu, lai sāktu instalēšanas procesu.

    No Microsoft lejupielādētā izpildāmā faila palaišana

  3. Sekojiet ekrānā redzamos norādījumus, lai instalētu programmu datorā.
  4. Pārbaudiet lai noskaidrotu, vai problēma joprojām pastāv pēc instalēšanas pabeigšanas.
3 minūtes lasīts