우리는 웹 API REST 웹 서비스에 액세스하는 웹 API 클라이언트를 사용하고 있습니다. 비주얼 스튜디오 debbugging없이 코드를 실행할 때 그것은 발생하지 않습니다 2015 년 디버깅 할 때Visual Studio에서 디버깅 할 때 기본 연결이 닫혔습니다.
An error occured while sending the request (Inner Exception: The underlying conection was closed: An unexpected error occured on a send)
에만 발생 : 디버깅 할 때이를 호출 할 때
우리는 다음과 같은 오류를 얻고있다. 우리는 .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);
}
같은 프로젝트를 디버깅 할 때 다른 컴퓨터에서 발생합니까? – DiskJunky
이 경우 코드에 중단 점을 넣으시겠습니까? 아니면 그냥 디버거로 실행하지만 아무데도 휴식하지? 그것은 항상 또는 때때로 발생합니까? – Evk
Windows 10 및 Visual Studio 2017이 설치된 두 번째 PC가 있습니다. 모든 것이 핵심으로 실행됩니다. 응용 프로그램을 정상적으로 디버깅 할 수 있습니다. 이 문제가 발생한 PC는 Visual Studio 2015가 설치된 Windows 7에서 실행됩니다. – Alexander