C#HttpClient连接异常终止

时间:2019-02-20 23:14:57

标签: c# .net timeout httpclient

我正在使用以下代码对外部应用程序执行POST请求。该请求源自.NET MVC应用程序的控制器。

            using(HttpClient postClient = new HttpClient())
        {
            postClient.DefaultRequestHeaders.Add("Connection", "close");
            postClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", username, password)))));
            postClient.DefaultRequestHeaders.Add("Crumb", crumb);
            HttpResponseMessage response = await postClient.PostAsync("url", httpContent);
            response.EnsureSuccessStatusCode();
        }

这将导致以下堆栈跟踪:

  

[SocketException(0x2745):已建立的连接被中止   主机中的软件]

     

[IOException:无法从传输连接中读取数据:An   主机中的软件中止了已建立的连接   机器。]

     

[HttpRequestException:将内容复制到流时出错。]

由于公司政策,我删除了详细的行,如果需要,可以添加省略的信息。我读到将连接设置为关闭可能会解决问题,但这没有帮助。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

对不起,我没有50条声誉可以添加评论。

该错误不是由您的代码引起的。最终在调试时阻止了程序的http流。

因此,请关闭/关闭防病毒和防火墙,然后重试。