C# HttpClient PostAsync引发异常

C# HttpClient PostAsync引发异常,c#,.net-core,dotnet-httpclient,C#,.net Core,Dotnet Httpclient,我正在尝试获取api。当我尝试使用postman获取api时,它工作正常,我可以看到请求的响应,但使用PostAsync,我无法获取api并引发如下异常。您对此有何建议 HttpClient _client = new HttpClient(); var data = new DataCollectorApiParams(DateTime.Now.AddDays(-90), DateTime.Now.AddDays(-20)); try { string jsonString = Jso

我正在尝试获取api。当我尝试使用postman获取api时,它工作正常,我可以看到请求的响应,但使用PostAsync,我无法获取api并引发如下异常。您对此有何建议

HttpClient _client = new HttpClient();
var data = new DataCollectorApiParams(DateTime.Now.AddDays(-90), DateTime.Now.AddDays(-20));
try
{
    string jsonString = JsonConvert.SerializeObject(data);
    HttpResponseMessage response = await _client.PostAsync("http://localhost:8080/api/stock",
        new StringContent(jsonString, Encoding.UTF8, "application/json"));
    var result = await response.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
    throw ex;
}
我得到以下错误:

System.IO.IOException:无法从传输连接读取数据:由于线程退出或应用程序请求,I/O操作已中止。-->System.Net.Sockets.SocketException:由于线程退出或应用程序请求,I/O操作已中止 ---内部异常堆栈跟踪的结束--- 位于System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThroweException(SocketError错误) 位于System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16令牌) 在System.Net.Http.HttpConnection.FillAsync()中 在System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(允许布尔FolderHeaders) 位于System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage请求,CancellationToken CancellationToken)


这看起来不像是http调用的问题(或者您将得到一个错误响应代码的响应)。这似乎是与“”的连接。“localhost:8080”是一个docker容器,其中包含用.net编写的RESTAPIcore@YusufKayikci运行容器时,
docker run…
是否已将运行服务的端口发布到docker主机上的8080端口。通过传递标志值
-p 8080:80
?有关后者的更多信息,请查看。如果您尚未发布端口,则无法使用
locahost:8080
从主机访问容器内运行的服务。您是否可以使用Fiddler或查看Postman生成的请求,以查看您是否缺少任何稍有不同的内容?请看,在Postman中查看生成的请求是个好主意。client.TimeOut=-1。这是解决这个问题的一个好办法,谢谢@djsoteric