首页 > 解决方案 > API 管理失败并显示错误消息“无法访问已关闭的流”。

问题描述

作为检查 API 管理代理请求的请求正文的要求的一部分,我添加了对context.Request.Body.As<string>(preserveContent: true). 但是,在此更改之后,我的<forward-request>策略以Cannot access a closed Stream.

错误消息没有太多线索,但我认为它所指的流是入站请求正文。出于这个原因,我使用了preserveContent: true重载,但无论如何它都失败了。

还有哪些其他来源可能导致流关闭,我怎样才能让它保持打开状态,以便也<forward-request>可以转发请求正文?

标签: azure-api-management

解决方案


我通过在我的部分末尾插入一个<set-body>政策来解决这个问题,如下所示<inbound><set-body>@(context.Variables.GetValueOrDefault<string>("Request.Body"))</set-body>


推荐阅读