'Mevcut Bir Bağlantı Uzak Ana Bilgisayar Tarafından Zorla Kapatıldı' Hatası Nasıl Onarılır?



Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin

Uzak bilgisayar, fiziksel varlığı olmayan bilgisayardır; yalnızca bir tür bilgisayar ağı aracılığıyla erişilebilir. Uzak Ana Bilgisayar, uzak bilgisayarı barındıran ağı barındıran bilgisayardır ve uzak istemci, ağdaki uzak istemcinin kullanıcısıdır. Bu özellik birçok süreçte devrim yarattı ve gelecekte de büyük bir kapsamı var.



Mevcut bir Bağlantı, yerel ana bilgisayar hatası nedeniyle zorla kapatıldı



Ancak, oldukça yakın zamanda, bir ' mevcut bir bağlantı uzak ana bilgisayar tarafından zorla kapatıldı 'Uzak ana bilgisayara bağlanmaya çalışırken hata oluştu. Bu hata, bir istemci ile bir sunucu arasındaki soket bağlantısıyla tetiklenir. Bu makalede, bu hatayı tamamen düzeltmek için bazı uygulanabilir çözümler sunacağız ve ayrıca bu hatayı tetikleyen nedenleri size bildireceğiz.



Windows'ta ‘Mevcut bir bağlantı uzak ana bilgisayar tarafından zorla kapatıldı’ Hatasına Neden Olan Nedir?

Birden çok kullanıcıdan çok sayıda rapor aldıktan sonra, sorunu araştırmaya karar verdik ve düzeltmek için bir dizi çözüm geliştirdik. Ayrıca, tetiklenme nedenlerini araştırdık ve aşağıda listeledik.

  • TLS 1.1 / 1.0 Kullanımı: Uygulama TLS 1.1 veya TLS 1.0 üzerinde çalışıyorsa, amortismana tabi tutulmaları nedeniyle bu hatayı tetikleyebilir. TLS 1.2, uygulamanın kullandığı protokolü seçerken gidilecek yoldur.
  • Kriptografi Devre Dışı: Makineniz için Şifreleme devre dışı bırakıldıysa, TLS 1.2 kullanımını engeller ve TLS 1.0'a geri dönerek hatayı tetikleyebilir.
  • Soket Uygulaması: Bazı durumlarda, belirli bir yuva uygulaması türü hatayı tetikler. “.NET” uygulamasının bazı uygulamalarında bir hata var ve bu hataya neden olabilir.
  • Eksik Kod: Entity Framework kullanan bazı kişiler için, hatanın tetiklenmesi nedeniyle belirli bir kod satırının eksik olduğu gözlemlendi.
  • Eski '.NET' Çerçevesi: Bazı durumlarda, “.NET” Framework devre dışı bırakılmışsa, bu hata tetiklenebilir. Bazı görevlerin düzgün çalışması için '.NET' çerçevesinin en son sürüme güncellenmesi gerekir.

Artık sorunun doğası hakkında temel bir anlayışa sahip olduğunuza göre, çözümlere doğru ilerleyeceğiz. Çatışmaları önlemek için bunları verildikleri sıraya göre uyguladığınızdan emin olun.

1.Çözüm: Kriptografiyi Etkinleştirme

Makineniz için Şifreleme devre dışı bırakıldıysa, TLS 1.2'nin kullanılması yasaktır. Bu nedenle, bu adımda Kriptografiyi etkinleştireceğiz. Bunun için:



  1. ' pencereler '+' R Çalıştır istemini açmak için ”.
  2. Yazın 'Regedit' ve bas ' Giriş '.

    'Regedit' yazıp 'Enter' a basmak

  3. Aşağıdaki adrese gidin
    HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  .NETFramework  v4.0.3031

    '' Yoksa bu adrese gidin SchUseStrongCrypto Sağ bölmedeki 'değeri.

    HKEY_LOCAL_MACHINE  YAZILIM  Wow6432Node  Microsoft  .NETFramework  v4.0.30319
  4. Sağ bölmede, ' SchUseStrongCrypto 'Seçeneğini seçin ve' 1 'Değer verisi olarak.

    Sağ bölmedeki 'SchUseStrongCrypto' değerine çift tıklama

  5. Tıklamak ' tamam Değişikliklerinizi kaydetmek için 've Kontrol sorunun devam edip etmediğini görmek için.

2.Çözüm: TLS 1.2 Kullanımını Zorlama

Uygulama, TLS 1.2 yerine TLS 1.1 veya TLS 1.0 kullanacak şekilde yapılandırılmışsa, bu hatayı tetikleyebilir. Bu nedenle, bu adımda bilgisayarımızı TLS 1.2 kullanacak şekilde yapılandıracağız. Bunun için:

  1. Sitenin kök dizinine gidin ve sağ tıklayın 'Global.asax' dosya.
  2. ' Görünüm Kod ' listeden.
  3. Bir ' Application_Start ”Yöntemi, bu yönteme aşağıdaki kod satırını ekleyin
    Eğer (ServicePointManager.Güvenlik Protokolü.HasFlag(SecurityProtocolType.Tls12) == yanlış) SecurityProtocolType.Tls12;

    Satırları koda ekleme

  4. Kayıt etmek senin değişikliklerin ve Kontrol sorunun devam edip etmediğini görmek için.

3. Çözüm: Soket Uygulamasını Değiştirme

Belirli bir soket uygulamasında bir hata veya aksaklık varsa, bu hatanın tetiklenmesi nedeniyle uygulamanın belirli öğelerinin düzgün çalışmasını engelleyebilir. Bu nedenle, bu adımda, onu farklı bir uygulama kullanacak şekilde yapılandıracağız. Bunun için:

  1. ' StateObjec t ”sınıfı ile' genel bayt [] arabellek = yeni bayt [1024], genel Soket soketi; '.
  2. Ara ' Al (Soketler) 'İşlevini kullanın ve aşağıdaki kodu' void ReceiveCallback (IAsyncResult ar) '
     Soket hatasıhata kodu; intnBytesRec=priz.EndReceive(İle, dışarıhata kodu); Eğer (hata kodu! = Soket hatası.Başarı) {nBytesRec= 0; }
  3. Bu kodu uyguladıktan sonra sorunun devam edip etmediğini kontrol edin.

4.Çözüm: Komut Satırları Ekleme (Yalnızca Entity Framework için)

Entity Framework kullanıyorsanız, belirli bir kod satırının eksik olması olasıdır. Bu nedenle, bu adımda, bu sorunu gidermek için bu kod satırını ekleyeceğiz. Bunun için:

  1. ' .edmx 'Dosyasını açın ve' .context.tt ”Dosyası altında.
  2. Aç ' .context.cs 'Dosyasını açın ve kurucunuza aşağıdaki kod satırını ekleyin
    halka açık DBEntities() : temel('name = DBEntities') { bu.Yapılandırma.ProxyCreationEnabled = yanlış; // BU SATIRI EKLE! }
  3. Bu kod satırını ekledikten sonra sorunun devam edip etmediğini kontrol edin.

Çözüm 5: .NET Framework'ü Güncelleme

Her şeyin sorunsuz çalışması için '.NET' Framework'ün en son sürümü gereklidir. Dolayısıyla bu adımda siteden en son sürümü indirip kuracağız. Bunun için:

  1. Şu yöne rotayı ayarla bu kurulumu indirmek için bağlantı.
  2. ' .exe Kurulum sürecini başlatmak için ”dosyası.

    Microsoft'tan indirilen yürütülebilir dosyayı çalıştırma

  3. Takip et uygulamayı bilgisayarınıza yüklemek için ekrandaki talimatlar.
  4. Kontrol kurulumu tamamladıktan sonra sorunun devam edip etmediğini görmek için.
3 dakika okundu