首页 新闻 赞助 找找看

asp.net core在中间件里怎么修改Response.Body的内容

0
悬赏园豆:30 [待解决问题]

asp.net core在中间件里怎么修改Response.Body的内容

飞羽在天上的主页 飞羽在天上 | 初学一级 | 园豆:103
提问于:2022-03-04 23:13
< >
分享
所有回答(3)
0
dudu | 园豆:31075 (高人七级) | 2022-03-04 23:25

不行,报这个错误:System.InvalidOperationException: Response Content-Length mismatch: too few bytes written (0 of 2155)

支持(0) 反对(0) 飞羽在天上 | 园豆:103 (初学一级) | 2022-03-05 10:56

@飞羽在天上: 建议提供重现问题的代码

支持(0) 反对(0) dudu | 园豆:31075 (高人七级) | 2022-03-05 12:29

@dudu: 红框内代码报错,报错内容如下图

支持(0) 反对(0) 飞羽在天上 | 园豆:103 (初学一级) | 2022-03-05 13:32

@飞羽在天上: 设置stream存放ResponseBody 部分的代码放错地方了,应该放在 await _next(context); 之后

支持(0) 反对(0) dudu | 园豆:31075 (高人七级) | 2022-03-05 13:53

@dudu: 如果放后面就没法读取ResponseBody的内容了

支持(0) 反对(0) 飞羽在天上 | 园豆:103 (初学一级) | 2022-03-05 14:06

@飞羽在天上: 请求时哪有 ResponseBody?

支持(0) 反对(0) dudu | 园豆:31075 (高人七级) | 2022-03-05 14:17

@dudu: context.Response.Body

支持(0) 反对(0) 飞羽在天上 | 园豆:103 (初学一级) | 2022-03-05 14:21
0
huiyuanai709 | 园豆:487 (菜鸟二级) | 2022-03-05 13:14

是在网关Ocelot里将下游服务的返回的内容进行修改,Filter没法实现

支持(0) 反对(0) 飞羽在天上 | 园豆:103 (初学一级) | 2022-03-05 13:36
0

需要重新设置 context.Response.ContentLength 长度是你更改后得。

Json-jh | 园豆:406 (菜鸟二级) | 2022-08-30 09:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册