我們正在使用訪問Web API REST Web服務的Web API客戶端。在Visual Studio中調試時底層連接已關閉錯誤
An error occured while sending the request (Inner Exception: The underlying conection was closed: An unexpected error occured on a send)
這僅在Visual Studio 2015年沒有debbugging運行代碼時,它不會發生在調試時發生的情況:
我們呼籲這在調試時,收到以下錯誤。 我們使用.NET 4.6.1。
這是爲什麼發生?爲什麼在調試時沒有調試和崩潰時運行。你有什麼想法如何解決這個問題,我們可以檢查什麼?
我們用下面的代碼,使Web服務調用:
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
我有第二臺PC與Windows 10和Visual Studio 2017.一切正常運行。我可以正常調試應用程序。 發生此問題的PC在Visual Studio 2015的Windows 7上運行。 – Alexander