这是一个直截了当的问题,但目前我还没有答案. 我正在try 从一个基本的控制台应用程序向我的API发出请求,该请求需要30秒以上的时间才能完成.有趣的是,当我在Windows环境中执行应用程序时,一切工作正常.然而,当我使用Docker Desktop在容器中运行它时,POST请求始终在30秒后停止.我怀疑我的Docker设置中可能存在超时配置问题.即使在OpenShift中部署应用程序时,此行为也会持续存在.如有任何见解或建议,我们将不胜感激.
以下是代码:
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, {URL});
var content = new StringContent({requestBody}, null, "application/json");
request.Content = content;
var response = await client.SendAsync(request); // it crashes here
HttpRequestException:个
{System.Net.Http.HttpRequestException: An error occurred while sending the request.
System.IO.IOException: The response ended prematurely.
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
End of inner exception stack trace ---
at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at RestSharp.RestClient.ExecuteRequestAsync(RestRequest request, CancellationToken cancellationToken)}
我try 更改一些坞站设置以增加超时,并确保这不是代理问题:-)