azure-api-management - API 管理失败并显示错误消息“无法访问已关闭的流”。
问题描述
作为检查 API 管理代理请求的请求正文的要求的一部分,我添加了对context.Request.Body.As<string>(preserveContent: true)
. 但是,在此更改之后,我的<forward-request>
策略以Cannot access a closed Stream
.
错误消息没有太多线索,但我认为它所指的流是入站请求正文。出于这个原因,我使用了preserveContent: true
重载,但无论如何它都失败了。
还有哪些其他来源可能导致流关闭,我怎样才能让它保持打开状态,以便也<forward-request>
可以转发请求正文?
解决方案
我通过在我的部分末尾插入一个<set-body>
政策来解决这个问题,如下所示<inbound>
:<set-body>@(context.Variables.GetValueOrDefault<string>("Request.Body"))</set-body>
推荐阅读
- javascript - Vue | 如何将网络端口号更改为 80?
- google-bigquery - 查询查找在bigquery中一个接一个创建的记录
- javascript - 这些 Vue 和手动生成的 html css 元素有什么区别?
- autohotkey - 比较不同目录中的文件名(减去扩展名),如果名称与 AutoHotkey 相同,则复制/移动
- extjs - EXTJS:未捕获的 ReferenceError:Dexie 未在 myJavascriptFile.js:18 中定义
- vue.js - 在 Vue.JS 应用加载时从远程 API 获取数据
- apache - NGINX 不使用 proxy_cache_background_update 提供“快速”陈旧内容
- java - 在我的系统中哪里可以找到 App Engine Maven 插件的当前安装版本?
- regex - 使用嵌套标记扫描具有非定界字符串的语言
- android - notifyDataSetChanged 在自定义 BaseExpandableListAdapter 中不起作用