gpt4 book ai didi

c# - 超出了内部响应 header 大小限制

转载 作者:太空宇宙 更新时间:2023-11-03 14:44:26 25 4
gpt4 key购买 nike

enter image description here

当我重定向到相关网站的另一部分时,会发生此错误。

return this.RedirectToActionPermanent("Index", "Dashboard"

错误发生前,代码没有进入仪表板 Controller 中的 Index 方法。

enter image description here

我认为发布的 Fiddler 响应 header 不是错误消息中的 >internal< Response header 。

谁能解释如何最好地增加内部响应 header 的大小限制?

或者,我们是否正在考虑将压缩内部响应 header 作为解决方案?

请注意,上面的重定向调用在大约 3 个月内日复一日地工作,直到大约 5 天前中断。

[编辑1]program.cs 文件现在看起来像:

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().ConfigureKestrel((context, options) => {
options.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(5);
options.Limits.MaxResponseBufferSize = 1024000;
options.Limits.Http2.HeaderTableSize = 16384;
});

但是,仍然出现同样的错误。

[编辑 2 18.03.19 2:28am]该问题是由于其中一个配置文件用户未填写(身份表)用户声明引起的。我在 SSMS 中手动填写数据,错误不再发生。

TIA。

大卫

最佳答案

我也遇到过类似的问题这是由很久以前(核心 2.0)中发生的 WinHTTP 错误引起的。当发生重定向响应时,WinHTTP 更愿意重用相同的连接来遵循重定向。排出的响应字节数由 WinHttpHandler.MaxResponseDrainSize 控制。当响应大小超过 MaxResponseDrainSize 时,请求将因指定错误而中止。

当我升级到 2.1 时问题消失了

  • 更新超时问题

您添加的设置为 KeepAliveTimeout = TimeSpan.FromMinutes(5);适用于 Kestrel 但不适用于 IIS。IIS 和 Kestrel 之间有一个反向代理设置。因此,您将 Kestrel 的超时设置为 5 分钟。但是 IIS 的默认超时是 120 秒。您可以更改超时时间IIS->站点->选择您的站点->高级设置->限制->连接超时。尝试更改此设置以检查是否发生此错误。

Configuration Editor 中还有另一个可用的设置 enter image description here enter image description here

关于c# - 超出了内部响应 header 大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55154683/

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