A meglévő kapcsolat kijavítása a távoli gazdagép erőszakkal bezárta & rsquo; Hiba?

A távoli számítógép az, amelyiknek nincs fizikai jelenléte; csak valamilyen számítógépes hálózaton keresztül érhető el. A Távoli hoszt az a számítógép, amelyik otthont ad a hálózatnak, és amely távoli kliens a távoli kliens felhasználója a hálózaton. Ez a funkció rengeteg folyamatot forradalmasított, és a jövőben is nagy hatókörrel rendelkezik.

A közelmúltban azonban nagyon sok jelentés érkezett arról, hogy „ a távoli állomás erőszakkal zárt le egy meglévő kapcsolatot ” hiba történt, miközben megpróbált csatlakozni a távoli gazdagéphez. Ezt a hibát az ügyfél és a szerver közötti socket kapcsolat váltja ki. Ebben a cikkben bemutatunk néhány életképes megoldást a hiba teljes kijavítására, valamint tájékoztatjuk Önt a hiba kiváltó okairól is.

Mi okozza a Windowsban a „Meglévő kapcsolatot erőteljesen lezárta a távoli gazdagép” hibát?

Miután több felhasználótól számos jelentést kaptunk, úgy döntöttünk, hogy kivizsgáljuk a problémát, és megoldások sorát dolgoztuk ki a probléma megoldására. Ezenkívül megvizsgáltuk az okokat, amelyek miatt kiváltotta, és az alábbiakban felsoroltuk őket.

  • TLS 1.1 / 1.0 Használat: Ha az alkalmazás TLS 1.1 vagy TLS 1.0 rendszeren fut, akkor az amortizáció miatt kiválthatja ezt a hibát. A TLS 1.2 az út, amikor az alkalmazás által használt protokollt kell kiválasztani.
  • Kriptográfia letiltva: Ha a kriptográfia le van tiltva a gépén, akkor megakadályozza a TLS 1.2 használatát, és visszaesik a TLS 1.0-ra, ami kiválthatja a hibát.
  • Socket implementáció: Bizonyos esetekben a socket implementáció egy bizonyos típusa váltja ki a hibát. Van egy hiba a „.NET” alkalmazás néhány megvalósításával, és ez okozhatja ezt a hibát.
  • Hiányzó kód: Néhány ember számára, aki az Entity Framework-et használta, megfigyelték, hogy hiányzik egy bizonyos kódsor, ami miatt a hibát kiváltják.
  • Elavult „.NET” keretrendszer: Bizonyos esetekben, ha a „.NET” keretrendszert letiltották, előfordulhat, hogy ez a hiba kiváltható. Bizonyos feladatok megkövetelik a „.NET” keretrendszer frissítését a legújabb verzióra a megfelelő működés érdekében.

Most, hogy alaposan megértette a probléma természetét, továbblépünk a megoldások felé. Ügyeljen arra, hogy ezeket a bemutatásuk sorrendjében hajtsa végre a konfliktusok elkerülése érdekében.

1. megoldás: A kriptográfia engedélyezése

Ha a titkosítást letiltották a gépén, akkor a TLS 1.2 használata tilos. Ezért ebben a lépésben engedélyezni fogjuk a kriptográfiát. Azért:

  1. Nyomja meg a „ Windows ” + „ R ” gombot a Futtatás parancs megnyitásához.
  2. Írja be a „regedit” szót, és nyomja meg az „ Enter ” billentyűt .
  3. Navigáljon a következő címre
    HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.3031

    Navigáljon erre a címre, ha a jobb oldali ablaktáblában nincs „ SchUseStrongCrypto ” érték.

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319
  4. A jobb oldali ablaktáblán kattintson duplán a „ SchUseStrongCrypto ” opcióra, és írja be az „ 1értékadatot .
  5. Kattintson az „ OKgombra a módosítások mentéséhez és ellenőrizze , hogy a probléma továbbra is fennáll-e.

2. megoldás: A TLS 1.2 használat kényszerítése

Ha az alkalmazás a TLS 1.1 vagy a TLS 1.0 használatára van beállítva a TLS 1.2 helyett, ez kiválthatja ezt a hibát. Ezért ebben a lépésben konfiguráljuk számítógépünket a TLS 1.2 használatára. Azért:

  1. Keresse meg a webhely gyökerét, és kattintson a jobb gombbal a „global.asax” fájlra.
  2. Válassza a „ Kód megtekintése ” lehetőséget a listából.
  3. Kell lennie egy „ Application_Start ” metódusnak, adja hozzá a következő kódsort ehhez a metódushoz
    if (ServicePointManager. SecurityProtocol. HasFlag (SecurityProtocolType. Tls12) == hamis) SecurityProtocolType. Tls12;              
  4. Mentse el a módosításokat, és ellenőrizze , hogy a probléma továbbra is fennáll-e.

3. megoldás: A Socket megvalósításának módosítása

Ha egy bizonyos socket implementációban hiba vagy hiba van, akkor ez megakadályozhatja az alkalmazás bizonyos elemeinek megfelelő működését, ami miatt ez a hiba kiváltható. Ezért ebben a lépésben egy másik megvalósítás használatára konfiguráljuk. Azért:

  1. Győződjön meg arról, hogy rendelkezik „ StateObjec t” osztályral, a „ public byte [] buffer = new byte [1024], public Socket socket; “.
  2. Hívja meg a „ Fogadás (Socket s) ” funkciót, és hívja meg a következő kódot a „ void ReceiveCallback (IAsyncResult ar) ” részben.
     SocketError errorCode ; int nBytesRec = socket . EndReceive ( ar , out errorCode ); if ( errorCode != SocketError . Success ) { nBytesRec = 0 ; } 
  3. Ellenőrizze, hogy a probléma továbbra is fennáll-e a kód végrehajtása után.

4. megoldás: Parancssorok hozzáadása (csak az Entity Framework számára)

Az Entity Framework használata esetén elképzelhető, hogy hiányzik egy bizonyos kódsor. Ezért ebben a lépésben hozzáadjuk azt a kódsort a probléma megoldása érdekében. Azért:

  1. Nyissa meg a .edmx fájlt, és nyissa meg az alatta található .context.tt fájlt.
  2. Nyissa meg a „ .context.cs ” fájlt, és adja hozzá a következő kódsort a konstruktorához
     public DBEntities () : base ( "name=DBEntities" ) { this . Configuration . ProxyCreationEnabled = false ; // ADD THIS LINE ! } 
  3. Ellenőrizze, hogy a probléma továbbra is fennáll-e a kódsor hozzáadása után.

5. megoldás: A .NET-keretrendszer frissítése

A „.NET” keretrendszer legújabb verziójára van szükség annak érdekében, hogy minden zökkenőmentesen működhessen. Ezért ebben a lépésben a legfrissebb verziót töltjük le a webhelyről, és telepítjük. Azért:

  1. A beállítás letöltéséhez keresse meg ezt a linket.
  2. Futtassa az “ .exe ” fájlt a telepítés megkezdéséhez.
  3. Az alkalmazás telepítéséhez kövesse a képernyőn megjelenő utasításokat.
  4. Ellenőrizze , hogy a probléma továbbra is fennáll-e a telepítés befejezése után.