Azure API 管理给了 200 [未完整发送(见异常遥测)]

Azure API management gives 200 [not sent in full (see exception telemetries)]

我们有几个 API 正在通过 Azure API 管理进行长期轮询。出于某种原因,我们收到 200 [not sent in full (see exception telemetries)] 的响应,然后在 App Insights 中收到 System.Exception: A task was canceled. 异常。

查看服务器应用服务遥测,请求已完成,没有任何异常。

谁能帮我弄清楚这个状态响应是什么意思,为什么我们会收到这个异常?

这些错误意味着 APIM 开始向客户端发送响应,发送状态代码和描述,以及 headers 和 body 的某些部分。如响应代码所示,这些跟踪必须伴随异常遥测。根据您在那里看到的内容,它可能是:

  • 客户端连接错误 - 客户端在完整发送响应之前终止连接
  • 后端连接错误 - 后端在提供完整响应之前终止连接

两者的原因可能有很大差异,但考虑到持续时间较短,我怀疑是客户端关闭了连接。原因之一是,例如,如果此 API 是从浏览器使用的,那么如果用户离开发出调用的页面,浏览器通常会终止连接并中止阅读响应。