4

我有一个单一的服务,它使用 dot net core 3.1 托管 API 控制器和 GRPC。我有需要同时适用于(API 和 GRPC)的中间件,并且我需要阅读其中的请求正文。我尝试了以下方法,它适用于 API 请求,但不适用于 grpc。当我读取流时,我会在其中获得用于 grpc 请求有效负载的 unicode 字符,例如“\0\0\0\0�\n�\u0001”。

httpContext.Request.EnableBuffering();
var reqVal = await new StreamReader(httpContext.Request.Body).ReadToEndAsync();
httpContext.Request.Body.Position = 0;
4

0 回答 0