Hur fixar jag ”En befintlig anslutning tvingades stängas av fjärrvärdens fel”?



Prova Vårt Instrument För Att Eliminera Problem

En fjärrdator är den som inte har någon fysisk närvaro; det kan endast nås via någon form av datornätverk. Fjärrvärden är den dator som är värd för nätverket som är värd för fjärrdatorn och fjärrklienten är användaren av fjärrklienten i nätverket. Denna funktion har revolutionerat många processer och har ett stort omfång även i framtiden.



En befintlig anslutning stängdes med kraft av det lokala värdfelet



Men nyligen har många rapporter kommit in om en ' en befintlig anslutning stängdes med våld av fjärrvärden ”-Fel när du försöker ansluta till fjärrvärden. Detta fel utlöses med en sockelanslutning mellan en klient och en server. I den här artikeln kommer vi att tillhandahålla några lönsamma lösningar för att fullständigt åtgärda detta fel och även informera dig om orsakerna som utlöser detta fel.



Vad orsakar felet ”En befintlig anslutning tvingades stängas av fjärrvärden” i Windows?

Efter att ha fått flera rapporter från flera användare bestämde vi oss för att undersöka problemet och tog fram en uppsättning lösningar för att åtgärda det. Vi tittade också på orsakerna till att den utlöstes och listade dem nedan.

  • TLS 1.1 / 1.0 Användning: Om programmet körs på TLS 1.1 eller TLS 1.0 kan det utlösa detta fel på grund av att de skrivs av. TLS 1.2 är vägen att gå när du väljer det protokoll som applikationen använder.
  • Kryptografi inaktiverad: Om kryptografi har inaktiverats för din maskin kommer det att förhindra användning av TLS 1.2 och kommer att falla tillbaka på TLS 1.0 vilket kan utlösa felet.
  • Socket Implementation: I vissa fall utlöser felet en viss typ av sockelimplementering. Det finns ett fel med vissa implementeringar av '.NET' -applikationen och det kan orsaka detta fel.
  • Saknad kod: För vissa personer som använde Entity Framework observerades att en viss kodrad saknades på grund av vilket felet utlöstes.
  • Föråldrad '.NET' Framework: I vissa fall, om '.NET' Framework har inaktiverats kan detta fel utlösas. Vissa uppgifter kräver att “.NET” -ramverket uppdateras till den senaste versionen för att de ska fungera korrekt.

Nu när du har en grundläggande förståelse för problemets natur kommer vi att gå vidare mot lösningarna. Se till att implementera dessa i den specifika ordning i vilken de presenteras för att undvika konflikter.

Lösning 1: Aktivera kryptografi

Om kryptografi har inaktiverats för din maskin är användning av TLS 1.2 förbjuden. Därför kommer vi att aktivera kryptografi i det här steget. För det:



  1. Tryck ' Windows '+' R ”För att öppna körningen.
  2. Skriv in “Regedit” och tryck “ Stiga på '.

    Skriva in 'Regedit' och tryck på 'Enter'

  3. Navigera till följande adress
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    Navigera till den här adressen om det inte finns något “ SchUseStrongCrypto ”-Värde i den högra rutan.

    HKEY_LOCAL_MACHINE  SOFTWARE  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. Dubbelklicka på ”i den högra rutan SchUseStrongCrypto ”-Alternativet och ange“ 1 ”Som värdedata.

    Dubbelklicka på “SchUseStrongCrypto” -värdet i den högra rutan

  5. Klicka på ' OK ”För att spara dina ändringar och kolla upp för att se om problemet kvarstår.

Lösning 2: Tvinga TLS 1.2-användning

Om applikationen har konfigurerats för att använda TLS 1.1 eller TLS 1.0 istället för TLS 1.2 kan det utlösa detta fel. I detta steg kommer vi därför att konfigurera vår dator för att använda TLS 1.2. För det:

  1. Navigera till webbplatsens rot och högerklicka på “Global.asax” fil.
  2. Välj ' Se Koda ”Från listan.
  3. Det borde finnas en ” Application_Start ”-Metoden, lägg till följande rad kod till den metoden
    om (ServicePointManager.Säkerhetsprotokoll.HasFlag(SecurityProtocolType.Tls12) == falsk) SecurityProtocolType.Tls12;

    Lägga till raderna i koden

  4. Spara dina ändringar och kolla upp för att se om problemet kvarstår.

Lösning 3: Ändra sockelimplementering

Om en viss sockelimplementering har en bugg eller fel kan det förhindra att vissa delar av applikationen fungerar korrekt, vilket kan orsaka detta fel. I detta steg kommer vi därför att konfigurera den för att använda en annan implementering. För det:

  1. Se till att du har en “ StateObjec t ”klass med“ public byte [] buffert = ny byte [1024], public Socket-uttag; '.
  2. Ring ' Ta emot (uttag s) ”-Funktionen och ring följande kod i“ ogiltig ReceiveCallback (IAsyncResult ar) '
     Stickkontaktfelfelkod; intnBytesRec=uttag.EndReceive(Med, utfelkod); om (felkod! = Stickkontaktfel.Framgång) {nBytesRec= 0; }
  3. Kontrollera om problemet kvarstår efter implementering av den här koden.

Lösning 4: Lägga till kommandorader (endast för Entity Framework)

Om du använder Entity Framework är det möjligt att en viss kodrad kan saknas. Därför kommer vi i det här steget att lägga till den kodraden för att lösa problemet. För det:

  1. Öppna din ' .edmx ”-Filen och öppna” .context.tt ”-Fil under den.
  2. Öppna ' .context.cs ”-Filen och lägg till följande kodrad till din konstruktör
    offentlig DBE-enheter() : bas('name = DBEntities') { detta.Konfiguration.ProxyCreationEnabled = falsk; // LÄGG TILL DENNA RAD! }
  3. Kontrollera om problemet kvarstår efter att du har lagt till denna kodrad.

Lösning 5: Uppdaterar .NET Framework

Den senaste versionen av “.NET” Framework krävs för att allt ska fungera smidigt. Därför kommer vi i det här steget att ladda ner den senaste versionen från webbplatsen och installera den. För det:

  1. Navigera till detta länk för att ladda ner installationen.
  2. Utför “ .exe ”-Fil för att starta installationsprocessen.

    Kör den körbara nedladdade från Microsoft

  3. Följ anvisningarna på skärmen för att installera programmet på din dator.
  4. Kolla upp för att se om problemet kvarstår efter installationen.
3 minuter läst