>

웹 API REST 웹 서비스에 액세스하는 웹 API 클라이언트를 사용하고 있습니다.

디버깅시이를 호출 할 때 다음 오류가 발생합니다.

An error occured while sending the request (Inner Exception: The underlying conection was closed: An unexpected error occured on a send)

이것은 Visual Studio 2015에서 디버깅 할 때만 발생합니다. 디버깅없이 코드를 실행할 때는 발생하지 않습니다. .NET 4.6.1을 사용하고 있습니다.

이러한 이유는 무엇입니까? 디버깅하지 않을 때 왜 실행되고 디버깅 할 때 충돌이 발생합니다. 이 문제를 해결하는 방법과 확인할 수있는 아이디어가 있습니까?

우리는 웹 서비스 호출을하기 위해 다음 코드를 사용합니다 :

   public async Task<string> GetToken(string username, string password)
    {
        using (var client = new HttpClient())
        {
            InitializeHttpClient(client);
            HttpContent requestContent = new StringContent("grant_type=password&username=" + username + "&password=" + password, Encoding.UTF8, "application/x-www-form-urlencoded");
            var response = await client.PostAsync("token", requestContent);
            if (response == null || response.StatusCode == HttpStatusCode.BadRequest)
                return null;
            if (response.StatusCode == HttpStatusCode.NotFound
                || response.StatusCode == HttpStatusCode.RequestTimeout
                || response.StatusCode == HttpStatusCode.BadGateway
                || response.StatusCode == HttpStatusCode.ServiceUnavailable)
            {
                throw new Exception("No Connection to Web Service");
            }
            var bearerData = response.Content.ReadAsStringAsync().Result;
            return JObject.Parse(bearerData)["access_token"].ToString();
        }
    }

     private void InitializeHttpClient(HttpClient client)
    {
        client.BaseAddress = new Uri(_webServiceAddress);
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Add("User-Agent", "Test Client");
    }
    private void InitializeHttpClient(HttpClient client, string token)
    {
        InitializeHttpClient(client);
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("bearer", token);
    }


  • 답변 # 1

    이것은 Windows Update KB4041083으로 인한 것 같습니다. 이 업데이트를 제거하고 모든 것이 정상적으로 작동했습니다.

관련 자료

  • 이전 scala - webapp 디렉토리에서 * js 또는 * css와 같은 정적 파일을 변경할 때 Scalatra livereload
  • 다음 xslt - 요소에 여러 특성이있는 XML을 변환하고 하나의 특성을 사용하여 새 요소를 작성하십시오