我有一个使用API​​管理服务中公开的HttpClient API调用Service Fabric API的Azure函数。但是API管理服务日志显示API调用失败,出现问题ID“转发请求时出现ClientConnectionFailure”。

在客户端,我收到带有错误消息的System.Net.Sockets.SocketException
“操作已取消。无法从传输连接中读取数据:由于线程退出或应用程序请求,I/O操作已中止。由于线程退出或线程中断,I/O操作已中止。申请要求”

失败的可能原因是什么?如何解决?不幸的是,我找不到足够的文档?

最佳答案

首先,您必须了解,在APIM中,我们有一个客户端(可以是您的浏览器或任何其他工具),该APIM代理将请求转发到后端和承载您的应用程序的后端。
客户端连接失败的原因是客户端在从APIM代理接收响应之前先断开连接。
可能导致客户端断开连接的两个原因

  • 由于APIM网关上的负载很重,或者APIM实例指向的后端没有足够的处理能力来处理APIM网关转发的请求,因此APIM网关需要很长时间来响应。
  • 客户端从APIM代理接收响应时,出于任何原因都会断开连接。

  • 您必须确定导致此问题的原因,并根据此问题使用react,方法是修复客户端或扩大APIM或后端。

    关于azure - API管理服务ClientConnectionFailure在转发请求时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56862256/

    10-10 18:54