SocketException (0x274c) при доступе к API через System.Net.Http.HttpClient - PullRequest
0 голосов
/ 02 июня 2018

Я занимаюсь разработкой приложения ASP.NET MVC.Там я использую сервис API через System.Net.Http.HttpClient.Вот контроллер, который выполняет задание

        private readonly HttpClient _client;
        public HomeController()
        {
          _client = new HttpClient()
        }

        public async Task<ActionResult> Index(SearchParam searchParam)
        {
            // API Initialization
            _client.DefaultRequestHeaders.Clear();
            _client.BaseAddress = new Uri(Uri);
            _client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            // API Consumption By HttpClinet
            var url = _searchService.GetApiQueryParams(searchParam);
            var response = await _client.GetAsync(url);

            var jsonString = await response.Content.ReadAsStringAsync();
            var rootobject = JsonConvert.DeserializeObject<Response.Rootobject>(jsonString);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                var searchResults = _searchService.GetSearchResults(rootobject, searchParam);
                return View("SearchResult", searchResults);
            }

            ModelState.AddModelError(string.Empty, "Sorry some internal error occur !");
            return View("SearchResult");
        }

. Это прекрасно работает на моем Local Server, а также на IIS Server.Но когда я публикую приложение на другом хост-сервере и пытаюсь использовать API, оно показывает эту ошибку.

Я обнаружил две аналогичные проблемы.Пожалуйста, обратите внимание на эти

ИзПервая проблема, я не получил "балансировщик нагрузки на сервер".А из второй проблемы, когда я добавляю решение в Web.config, это показывает ошибку для proxyaddress="http://proxyserver", которая имеет смысл.

Теперь я остро нуждаюсь в решении этой проблемы.Я не очень хорош в квестах, поэтому, пожалуйста, не стесняйтесь предлагать или исправлять любые ошибки.

1 Ответ

0 голосов
/ 11 июня 2018

Наконец-то проблема решена.Упомянув о втором выпуске Я отправил проблему поставщику услуг хостинга по электронной почте, он предоставил system.net configuration.Использование этого system.net configuration в Web.config решило проблему.

<system.net>
 <defaultProxy>
  <proxy
    usesystemdefault = "false"
    bypassonlocal="false"
    proxyaddress="http://hosting-provided-proxyaddress-here"
  />
 </defaultProxy>
</system.net>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...