【发布时间】:2021-03-13 20:46:15
【问题描述】:
我正在尝试读取 ActionFilter 中的请求正文,但出现了一些奇怪的错误。
到目前为止我尝试了什么:
- 将请求正文复制到内存流
context.HttpContext.Request.Body.CopyTo(memoryStream)
抛出仅支持异步操作的错误。
- 将请求正文异步复制到内存流
context.HttpContext.Request.Body.CopyToAsync(memoryStream).Wait()
复制 0 个字节
- 使用 BodyReader:
context.HttpContext.Request.BodyReader.AsStream(true).CopyToAsync(requestBody).Wait();
throws ArgumentOutOfRange exception '指定的参数超出了有效值的范围。 (参数'start')'
我正在使用 .net core 3.1
【问题讨论】:
-
@Nonik 这些都不起作用,但是当我通过代码转换为 MiddleWare 而不是 ActionFilter 时它起作用了
标签: .net-core-3.1