Πώς να επιδιορθώσετε "Υπάρχουσα σύνδεση έκλεισε με βίαιο τρόπο από το απομακρυσμένο κεντρικό υπολογιστή" Σφάλμα;

Ένας απομακρυσμένος υπολογιστής είναι αυτός που δεν έχει φυσική παρουσία. μπορεί να προσεγγιστεί μόνο μέσω ενός δικτύου υπολογιστών. Ο απομακρυσμένος κεντρικός υπολογιστής είναι ο υπολογιστής που φιλοξενεί το δίκτυο που φιλοξενεί τον απομακρυσμένο υπολογιστή και ο απομακρυσμένος υπολογιστής-πελάτης είναι ο χρήστης του απομακρυσμένου υπολογιστή-πελάτη στο δίκτυο. Το χαρακτηριστικό αυτό έχει φέρει επανάσταση σε πολλές διεργασίες και έχει και μεγάλη εμβέλεια στο μέλλον.

Μια υπάρχουσα σύνδεση κλείστηκε βίαια από το τοπικό σφάλμα κεντρικού υπολογιστή

Ωστόσο, πολύ πρόσφατα, πολλές αναφορές έχουν έρθει σε μια " μια υπάρχουσα σύνδεση είχε κλείσει βίαια από το απομακρυσμένο κεντρικό υπολογιστή " σφάλμα κατά την προσπάθεια να συνδεθείτε με τον απομακρυσμένο υπολογιστή. Αυτό το σφάλμα ενεργοποιείται με σύνδεση υποδοχής μεταξύ πελάτη και διακομιστή. Σε αυτό το άρθρο, θα παρέχουμε μερικές βιώσιμες λύσεις για να διορθώσουμε πλήρως αυτό το σφάλμα και επίσης να σας ενημερώσουμε για τους λόγους που προκαλούν αυτό το σφάλμα.

Τι προκαλεί το σφάλμα "Υπάρχουσα σύνδεση κλείστηκε βίαια από το απομακρυσμένο κεντρικό υπολογιστή" στα Windows;

Αφού λάβαμε πολλές αναφορές από πολλούς χρήστες, αποφασίσαμε να διερευνήσουμε το πρόβλημα και να επινοήσουμε μια σειρά λύσεων για να το διορθώσουμε. Επίσης, εξετάσαμε τους λόγους για τους οποίους ενεργοποιείται και παρατίθενται παρακάτω.

  • TLS 1.1 / 1.0 Χρήση: Εάν η εφαρμογή εκτελείται σε TLS 1.1 ή TLS 1.0, ενδέχεται να προκαλέσει αυτό το σφάλμα εξαιτίας της υποτίμησής τους. Το TLS 1.2 είναι ο τρόπος μετάβασης όταν επιλέγετε το πρωτόκολλο που χρησιμοποιεί η εφαρμογή.
  • Απενεργοποιημένη κρυπτογραφία: Εάν η κρυπτογράφηση έχει απενεργοποιηθεί για το μηχάνημά σας, θα αποτρέψει τη χρήση του TLS 1.2 και θα πέσει πίσω στο TLS 1.0 που θα μπορούσε να προκαλέσει το σφάλμα.
  • Εφαρμογή υποδοχής : Σε ορισμένες περιπτώσεις, ένας συγκεκριμένος τύπος εφαρμογής υποδοχής ενεργοποιεί το σφάλμα. Υπάρχει ένα σφάλμα με κάποιες υλοποιήσεις από την εφαρμογή ".NET" και μπορεί να προκαλέσει αυτό το σφάλμα.
  • Κώδικας που λείπει: Για μερικούς ανθρώπους που χρησιμοποιούσαν το Entity Framework, παρατηρήθηκε ότι μια συγκεκριμένη γραμμή κώδικα έλειπε λόγω της οποίας το σφάλμα προκλήθηκε.
  • Ξεπερασμένο πλαίσιο ".NET": Σε ορισμένες περιπτώσεις, αν το πλαίσιο .NET δεν έχει ενεργοποιηθεί, αυτό το σφάλμα ενδέχεται να ενεργοποιηθεί. Ορισμένες εργασίες απαιτούν την ενημέρωση του πλαισίου ".NET" στην πιο πρόσφατη έκδοση, ώστε να λειτουργούν σωστά.

Τώρα που έχετε μια βασική κατανόηση της φύσης του προβλήματος, θα προχωρήσουμε προς τις λύσεις. Βεβαιωθείτε ότι έχετε εφαρμόσει αυτά με τη συγκεκριμένη σειρά με την οποία παρουσιάζονται για να αποφύγετε συγκρούσεις.

Λύση 1: Ενεργοποίηση της κρυπτογραφίας

Εάν η κρυπτογραφία έχει απενεργοποιηθεί για το μηχάνημά σας, απαγορεύεται η χρήση του TLS 1.2. Επομένως, σε αυτό το βήμα, θα επιτρέψουμε την κρυπτογραφία. Γι'αυτό:

  1. Πατήστε " Windows " + " R " για να ανοίξετε την εντολή Εκτέλεση.
  2. Πληκτρολογήστε "regedit" και πατήστε " Enter ".

    Πληκτρολογώντας στο "Regedit" και πατώντας "Enter"
  3. Μεταβείτε στην ακόλουθη διεύθυνση
     HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.3031 

    Μεταβείτε σε αυτήν τη διεύθυνση εάν δεν υπάρχει τιμή " SchUseStrongCrypto " στο δεξιό τμήμα του παραθύρου.

     HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ .NETFramework \ v4.0.30319 
  4. Στο δεξιό παράθυρο, κάντε διπλό κλικ στην επιλογή " SchUseStrongCrypto " και πληκτρολογήστε " 1 " ως δεδομένα τιμής.

    Κάντε διπλό κλικ στην τιμή "SchUseStrongCrypto" στο δεξί παράθυρο
  5. Κάντε κλικ στο " OK " για να αποθηκεύσετε τις αλλαγές σας και να ελέγξετε εάν το πρόβλημα παραμένει.

Λύση 2: Αναγκαστική χρήση του TLS 1.2

Εάν η εφαρμογή έχει ρυθμιστεί ώστε να χρησιμοποιεί TLS 1.1 ή TLS 1.0 αντί του TLS 1.2, ενδέχεται να προκαλέσει αυτό το σφάλμα. Επομένως, σε αυτό το βήμα, θα ρυθμίσουμε τον υπολογιστή μας για να χρησιμοποιήσουμε το TLS 1.2. Γι'αυτό:

  1. Πλοηγηθείτε στη ρίζα του ιστότοπου και κάντε δεξί κλικ στο αρχείο "global.asax" .
  2. Επιλέξτε " Προβολή κώδικα " από τη λίστα.
  3. Πρέπει να υπάρχει μια μέθοδος " Application_Start ", προσθέστε την ακόλουθη γραμμή κώδικα σε αυτή τη μέθοδο
     αν (ServicePointManager. SecurityProtocol. HasFlag (SecurityProtocolType. Tls12) == false) ServicePointManager. SecurityProtocol = ServicePointManager. SecurityProtocol 

    Προσθήκη των γραμμών στον κώδικα
  4. Αποθηκεύστε τις αλλαγές σας και ελέγξτε εάν το πρόβλημα παραμένει.

Λύση 3: Αλλαγή εφαρμογής υποδοχών

Εάν μια συγκεκριμένη υλοποίηση υποδοχής παρουσιάζει σφάλμα ή σφάλμα σε αυτήν, ενδέχεται να αποτρέψει την ορθή λειτουργία ορισμένων στοιχείων της εφαρμογής, εξαιτίας των οποίων θα μπορούσε να ενεργοποιηθεί αυτό το σφάλμα. Επομένως, σε αυτό το βήμα, θα το διαμορφώσουμε για να χρησιμοποιήσουμε διαφορετική εφαρμογή. Γι'αυτό:

  1. Βεβαιωθείτε ότι έχετε μια κλάση " StateObjec t" με " δημόσιο byte [] buffer = new byte [1024], δημόσια υποδοχή Socket; ".
  2. Καλέστε τη λειτουργία " Λήψη (Socket s) " και καλέστε τον ακόλουθο κώδικα στο " void ReceiveCallback (IAsyncResult ar) "
      SocketError errorCode ; int nBytesRec = socket . EndReceive ( ar, out errorCode ); if ( errorCode != SocketError . Success ) { nBytesRec = 0 ; } 
  3. Ελέγξτε αν το πρόβλημα παραμένει μετά την εφαρμογή αυτού του κώδικα.

Λύση 4: Προσθήκη γραμμών εντολών (Μόνο για πλαίσιο οντοτήτων)

Εάν χρησιμοποιείτε το Entity Framework, είναι πιθανό να λείπει μια συγκεκριμένη γραμμή κώδικα. Επομένως, σε αυτό το βήμα, θα προσθέσουμε αυτή τη γραμμή κώδικα για να διορθώσουμε αυτό το ζήτημα. Γι'αυτό:

  1. Ανοίξτε το αρχείο " .edmx " και ανοίξτε το αρχείο " .context.tt " κάτω από αυτό.
  2. Ανοίξτε το αρχείο .context.cs και προσθέστε την ακόλουθη γραμμή κώδικα στον κατασκευαστή σας
      public DBEntities () : base ( "name=DBEntities" ) { this . Configuration . ProxyCreationEnabled = false ; // ADD THIS LINE ! } 
  3. Ελέγξτε αν το πρόβλημα παραμένει μετά την προσθήκη αυτής της γραμμής κώδικα.

Λύση 5: Ενημέρωση του .NET Framework

Η πιο πρόσφατη έκδοση του ".NET" Framework είναι απαραίτητη για να λειτουργήσει ομαλά όλα. Επομένως, σε αυτό το βήμα, θα λάβουμε την πιο πρόσφατη έκδοση από την τοποθεσία και θα την εγκαταστήσουμε. Γι'αυτό:

  1. Πλοηγηθείτε σε αυτόν τον σύνδεσμο για να πραγματοποιήσετε λήψη της ρύθμισης.
  2. Εκτελέστε το αρχείο " .exe " για να ξεκινήσετε τη διαδικασία εγκατάστασης.

    Εκτέλεση του εκτελέσιμου αρχείου από τη Microsoft
  3. Ακολουθήστε τις οδηγίες στην οθόνη για να εγκαταστήσετε την εφαρμογή στον υπολογιστή σας.
  4. Ελέγξτε αν το πρόβλημα παραμένει μετά την ολοκλήρωση της εγκατάστασης.

Ενδιαφέροντα Άρθρα