【发布时间】:2019-07-03 02:44:45
【问题描述】:
我有一个 Azure 函数使用 API 管理服务中公开的 HttpClient API 调用 Service Fabric API。但 API 管理服务日志显示 API 调用失败,问题 ID 为“ClientConnectionFailure at forward-request”。
在客户端,我收到带有错误消息的 System.Net.Sockets.SocketException “操作已取消。无法从传输连接读取数据:由于线程退出或应用程序请求,I/O 操作已中止。由于线程退出或应用程序请求,I/O 操作已中止。申请要求”
此失败的可能原因是什么?如何解决?不幸的是,我找不到足够的文档?
【问题讨论】:
-
嗨。通过使用相同的有效负载和设置在 Postman 上运行来检查您的 API。首先检查直接链接,然后与 APIM 链接。比较此 API 所用的时间。
-
看起来好像超时了。试试这个,docs.microsoft.com/en-us/azure/api-management/…
-
从 APIM 的角度来看,客户端(调用 APIM 的那个)正在中断连接。
-
实际上问题出在后端 API 上。后端 API 引发了未处理的 c# 应用程序异常,但我的期望是 API 管理网关将相同的异常转发给客户端,但 API 管理在转发请求和超时时引发了诸如 ClientConnectionFailure 等误导性异常。不知道为什么会出现这种行为?
标签: azure azure-api-management