Како исправити грешку удаљеног хоста да би "исправио постојећу везу"?

Рачунар на даљину је онај који нема физичког присуства; њему се може приступити само путем неке рачунарске мреже. Удаљени домаћин је рачунар у коме се налази мрежа која смешта удаљени рачунар, а удаљени клијент је корисник удаљеног клијента у мрежи. Ова карактеристика је револуционирала многе процесе и има велики обим иу будућности.

Постојећа веза била је присилно затворена грешком локалног рачунала

Међутим, у последње време долази много извештаја о грешци „ постојећа веза коју је присилно затворио удаљени домаћин “ приликом покушаја повезивања са удаљеним хостом. Ова грешка активира се соцкет везом између клијента и сервера. У овом ћемо чланку пружити нека одржива решења за потпуну исправку ове грешке, а такође ћемо вас обавестити о разлозима који покрећу ову грешку.

Шта узрокује „Грешку у Виндовс-у присилно затворила постојећу везу„ Грешка у Виндовс-у?

Након што смо примили бројне извјештаје од више корисника, одлучили смо истражити проблем и осмислили сет рјешења како га ријешити. Такође смо погледали разлоге због којих се покреће и навели их у наставку.

  • ТЛС 1.1 / 1.0 Употреба: Ако се апликација покреће на ТЛС 1.1 или ТЛС 1.0, може покренути ову грешку због амортизације. ТЛС 1.2 је пут који треба одабрати приликом одабира протокола који апликација користи.
  • Криптографија је онемогућена: Ако је криптографија онемогућена за вашу машину, спречиће употребу ТЛС 1.2 и поново ће пасти на ТЛС 1.0 што може довести до грешке.
  • Имплементација утичнице : У неким случајевима, одређена врста имплементације утичнице покреће грешку. Постоји грешка у неким имплементацијама од стране .НЕТ апликације и може проузроковати ову грешку.
  • Недостаје код: Код неких људи који су користили ентитетски оквир примијећено је да недостаје одређена линија кода због које се активирала грешка.
  • Застарјели „.НЕТ“ оквир: У одређеним случајевима, ако је „.НЕТ“ оквир онемогућен, може се активирати ова грешка. Одређени задаци захтијевају да .НЕТ. Оквир буде ажуриран на најновију верзију како би могао правилно радити.

Сада када имате основно разумевање природе проблема, прећи ћемо ка решењима. Обавезно их примените посебним редоследом којим су представљени како би се избегли сукоби.

Решење 1: Омогућавање криптографије

Ако је криптографија онемогућена за ваш уређај, употреба ТЛС 1.2 је забрањена. Стога ћемо у овом кораку омогућити Цриптограпхи. За то:

  1. Притисните “ Виндовс ” + “ Р ” да бисте отворили редак Рун.
  2. Унесите „регедит“ и притисните „ Ентер “.

    Унесите „Регедит“ и притисните „Ентер“
  3. Дођите до следеће адресе
     ХКЕИ_ЛОЦАЛ_МАЦХИНЕ \ СОФТВАРЕ \ Мицрософт \ .НЕТФрамеворк \ в4.0.3031 

    Дођите до ове адресе ако у десном окну не постоји вриједност „ СцхУсеСтронгЦрипто “.

     ХКЕИ_ЛОЦАЛ_МАЦХИНЕ \ СОФТВАРЕ \ Вов6432Ноде \ Мицрософт \ .НЕТФрамеворк \ в4.0.30319 
  4. У десном окну двапут кликните на опцију " СцхУсеСтронгЦрипто " и унесите " 1 " као вредност података.

    Двапут кликните на вредност "СцхУсеСтронгЦрипто" у десном окну
  5. Кликните на „ ОК “ да сачувате своје промене и проверите да ли се проблем и даље наставља.

Решење 2: Присиљавање на употребу ТЛС 1.2

Ако је апликација конфигурисана да користи ТЛС 1.1 или ТЛС 1.0 уместо ТЛС 1.2, може покренути ову грешку. Стога ћемо у овом кораку конфигурисати наш рачунар за коришћење ТЛС 1.2. За то:

  1. Дођите до коријена странице и кликните десним тастером миша на датотеку „глобал.асак“ .
  2. Изаберите „ Виев Цоде “ са листе.
  3. Требао би постојати метода " Апплицатион_Старт ", додајте следећу линију кода тој методи
     иф (СервицеПоинтМанагер. СецуритиПротоцол. ХасФлаг (СецуритиПротоцолТипе. Тлс12) == фалсе) СервицеПоинтМанагер. СецуритиПротоцол = СервицеПоинтМанагер. СецуритиПротоцол 

    Додавање линија у код
  4. Сачувајте измене и проверите да ли се проблем понавља.

Решење 3: Промена имплементације соцкет-а

Ако одређена имплементација сокета има грешку или пропуст у себи, то може спречити да неки елементи апликације правилно функционишу због чега се може покренути ова грешка. Стога ћемо у овом кораку конфигурисати за употребу другачије имплементације. За то:

  1. Проверите да ли имате класу " СтатеОбјец т" са " јавни бајт [] међуспремник = нови бајт [1024], јавна соцкет соцкет; “.
  2. Позовите функцију " Примање (соцкет с) " и позовите следећи код у " поништи РецеивеЦаллбацк (ИАсинцРесулт ар) "
      SocketError errorCode ; int nBytesRec = socket . EndReceive ( ar, out errorCode ); if ( errorCode != SocketError . Success ) { nBytesRec = 0 ; } 
  3. Проверите да ли се проблем јавља након примене овог кода.

4. рјешење: Додавање наредбених линија (само за ентитетски оквир)

Ако користите Ентитетски оквир, могуће је да одређена линија кода можда недостаје. Стога ћемо у овом кораку додати ту линију кода да бисмо решили овај проблем. За то:

  1. Отворите датотеку „ .едмк “ и отворите датотеку „ .цонтект.тт “ испод ње.
  2. Отворите датотеку „ .цонтект.цс “ и додајте следећи ред кода вашем конструктору
      public DBEntities () : base ( "name=DBEntities" ) { this . Configuration . ProxyCreationEnabled = false ; // ADD THIS LINE ! } 
  3. Проверите да ли се проблем понавља након додавања ове линије кода.

Решење 5: Ажурирање .НЕТ Фрамеворк-а

Најновија верзија оквира. .НЕТ потребна је како би све несметано функционисало. Стога ћемо у овом кораку преузети најновију верзију са веб локације и инсталирати је. За то:

  1. Дођите до ове везе да бисте преузели подешавање.
  2. Извршите датотеку „ .еке “ како бисте започели поступак инсталације.

    Покретање извршне датотеке преузете са Мицрософта
  3. Следите упутства на екрану да бисте инсталирали апликацију на рачунар.
  4. Проверите да ли се проблем понавља након довршетка инсталације.

Занимљиви Чланци