Podio-远程主机强行关闭了现有连接

时间:2018-07-06 18:36:17

标签: c# podio

从今天开始,向Podio发出API请求时,我们已经收到以下错误:

  

现有连接被远程主机强行关闭       说明:执行过程中发生未处理的异常       当前的Web请求。请查看堆栈跟踪以获取有关的更多信息       错误及其在代码中的起源。

堆栈跟踪:

Exception Details: System.Net.Sockets.SocketException: An existing connection 
was forcibly closed by the remote host

[SocketException (0x2746): An existing connection was forcibly closed by the remote host]
   System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult) +82
   System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult) +57

[IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.]
   System.Net.TlsStream.EndWrite(IAsyncResult asyncResult) +232
   System.Net.PooledStream.EndWrite(IAsyncResult asyncResult) +13
   System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar) +119

[WebException: The underlying connection was closed: An unexpected error occurred on a send.]
   System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) +623
   System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) +64

[HttpRequestException: An error occurred while sending the request.]
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   System.Net.Http.<FinishSendAsync>d__58.MoveNext() +948
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   PodioAPI.<Request>d__36`1.MoveNext() +626
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   PodioAPI.<Get>d__31`1.MoveNext() +307
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58
   PodioAPI.Services.<GetItem>d__6.MoveNext() +277
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +99
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +58

请,有人可以阐明这个问题吗?我们没有更改代码中的任何内容。这基本上才刚刚开始发生。从多个设备和位置进行了尝试,因此请认为Podio的一端一定已经发生了变化。我们正在使用这里的库-http://podio.github.io/podio-dotnet/

2 个答案:

答案 0 :(得分:3)

Answered here,如果您的应用程序将Dotnet Framework定位为4.0 <4.6之间,那么您需要将默认的SecurityProtocol设置为至少传输层安全性(TLS)1.1,即

  

SecurityProtocolType.Tls11

ref:An application targeting .NET 4.0 can still support up to TLS 1.2 if .NET 4.5 is installed in the same environment

答案 1 :(得分:0)

Podio已禁用TLS 1.0-最后一位已于昨天完成。 TLS 1.0不久前已被弃用,它的生命周期定为2018年6月。

详细信息在这里:https://help.podio.com/hc/en-us/community/posts/360003048772-API-Security-Update

Podio也有一天会禁用TLS 1.1,因此,如果要升级,请升级到最新的TLS 1.2。

此外,现在还发布了新版本的nuget软件包: