Локальный хост отказался подключаться - PullRequest
0 голосов
/ 13 июня 2019

У меня есть проект web api, для которого я включил ssl из свойств и загрузил сертификат в Trusted Root Certification Authority. В этом проекте у меня есть класс, который перенаправляет http в https. У меня есть клиент, который вызывает мой http apiс помощью ngrok этот запрос перенаправляется на порт ssl. Я вставил сертификат, который я скачал на своем компьютере при включении ssl, в Trusted Root Certification Authority на компьютере клиента, но клиент не может получить доступ к API, онговорит, что localhost отказался подключиться и отображает следующие ошибки:

System.AggregateException: произошла одна или несколько ошибок.--->

System.Net.Http.HttpRequestException: при отправке запроса произошла ошибка.--->

System.Net.WebException: невозможно подключиться к удаленному серверу --->

System.Net.Sockets.SocketException: не удалось установить соединение, поскольку целевой компьютерактивно отказался 127.0.0.1:44343

в System.Net.Sockets.Socket.InternalEndConnect (IAsyncResult asyncResult)

в System.Net.Sockets.Socket.EndConnect (IAsyncResult asyncResult)

в System.Net.ServicePoint.ConnectSocketInternal (логическое connectFailure, сокет s4, сокет s6, сокет и сокет, IP-адрес и адрес, состояние ConnectSocketState, IAsyncResult asyncResult, исключение исключения)

--- конец внутреннего исключениятрассировка стека ---

в System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult)

в System.Net.Http.HttpClientHandler.GetResponseCallback (IAsyncResult arat) * 10 * 10

Я назвал свой первый API, используя следующий код:

HttpClient client = new HttpClient();


client.BaseAddress = new Uri("http://localhost:44343/");


HttpResponseMessage response = client.GetAsync("http://ccb7fe34.ngrok.io/api/Server").Result;

if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
     using (HttpContent content = response.Content)
     {
           Task<string> result = content.ReadAsStringAsync();
           res = result.Result;
           System.Diagnostics.Debug.Write(res);
     }
     var des = (ForVersion)JsonConvert.DeserializeObject(res, typeof(ForVersion));
     string updated_version = des.version;
     string current_version = Assembly.GetExecutingAssembly().GetName().Version.ToString();
     if (current_version != updated_version)
     {
          UpdateAvailable f = new UpdateAvailable();
          f.ShowDialog();
     }
 }
...