gpt4 book ai didi

c# - .Net Core 2.2/Kestrel/Swagger 禁用分块/编码

转载 作者:行者123 更新时间:2023-11-30 21:31:06 26 4
gpt4 key购买 nike

我是 .Net Core 2.2/Kestrel/Swagger 3 (OpenAPI) 中的 REST api。我注意到在 Fiddler 中,我的响应都被黄色横幅标记为已编码,启用了分块编码并且 Json 中散布着 5J 等。我该如何禁用它?

我在 SO 上看到了一些线程,但它们是针对旧版本的......

此外,我的猜测是我想通过某种方式通过中间件来完成此操作...这样我就不必更改任何控件,Swagger 将通过它全部插入。

有一个 SO 响应链接到一个 GitHub 项目,据称是这样做的,但该项目已被删除。

它在 Fiddler 中像这样返回(带有 51 和 0):

51
{
"": [
"Content-Type must be application/x-www-form-urlencoded."
]
}
0

标题:

Transfer-Encoding: chunked
X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcR2lsIFJvc2luXERvY3VtZW50c1xWaXN1YWwgU3R1ZGlvIDIwMTdcUHJvamVjdHNcRFRNUzJcdG9rZW4=?=
Server: Kestrel
Content-Type: application/json

最佳答案

Microsoft.AspNetCore.Buffering包包含一个中间件,可以缓冲您的响应。只需在启动配置期间对您的应用程序构建器调用 UseResponseBuffering()

请注意,您的响应仍然可能被 Kestrel 前面的任何内容(IIS、nginx 等)分块。

顺便说一句,将您的响应分块应该不会造成任何问题,除非您有一些奇怪的不符合标准的 HTTP 客户端与之通信。任何访问您的服务器的 HTTP 堆栈都应该在幕后解码分块。

关于c# - .Net Core 2.2/Kestrel/Swagger 禁用分块/编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53716861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com