Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 超出了内部响应标头大小限制_C#_Asp.net Core - Fatal编程技术网

C# 超出了内部响应标头大小限制

C# 超出了内部响应标头大小限制,c#,asp.net-core,C#,Asp.net Core,当我重定向到相关站点的另一部分时,会发生此错误 return this.RedirectToActionPermanent("Index", "Dashboard" 在错误发生之前,代码不会进入仪表板控制器中的Index方法 我认为发布的Fiddler响应头不是错误消息中的>内部 WebHost.CreateDefaultBuilder(args).UseStartup().ConfigureKestrel((上下文,选项)=>{ options.Limits.KeepAliveTimeou

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

return this.RedirectToActionPermanent("Index", "Dashboard"
在错误发生之前,代码不会进入仪表板控制器中的Index方法

我认为发布的Fiddler响应头不是错误消息中的>内部<响应头

有人能解释一下如何最好地增加内部响应头的大小限制吗

或者,我们是否需要压缩内部响应头作为解决方案

根据您的信息,上面的重定向电话在大约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;
        });
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=>
WebHost.CreateDefaultBuilder(args).UseStartup().ConfigureKestrel((上下文,选项)=>{
options.Limits.KeepAliveTimeout=TimeSpan.FromMinutes(5);
options.Limits.MaxResponseBufferSize=1024000;
options.Limits.Http2.HeaderTableSize=16384;
});
然而,同样的错误仍在发生

[编辑2 18.03.19 2:28 AM] 该问题是由未在其中一个配置文件用户上填写用户声明(标识表)引起的。我在SSMS中手动填写数据,错误停止发生

蒂亚


大卫

对我来说,我也面临着类似的问题 这是由WinHTTP中的一个bug引起的,该bug发生在很久以前(Core2.0)。当发生重定向响应时,WinHTTP倾向于重用相同的连接以遵循重定向。 排出的响应字节数由WinHttpHandler.MaxResponseDrainSize控制。 当响应大小超过MaxResponseDrainSize时,请求将中止,并出现指定错误

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

  • 更新超时问题

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

配置编辑器中还有另一个可用设置

此问题与.net core 2.2有关,请参阅您的事件日志,查看如果尚未启用,是否有其他可用信息,启用stdoutLogEnabled并确保您创建了一个日志文件夹,否则您将得到无法创建stdoutFile错误这是日志文件中的最后一行我记得读过一篇文章,其中有一个21s超时,与此处所示的ms有关/有人能说如何增加此超时/info:Microsoft.AspNetCore.Hosting.Internal.WebHost[2]请求在20905.785ms 301I中完成,我期待这一点,以下是我读过这篇文章的解决方案,我想。我使用的是2.2/请查看我在上一篇文章中的最后一条评论,以查看日志结果和21s超时的可能性;适用于红隼,但不适用于IIS。你能在IISExpress上设置反向代理吗?还没有这样做,你不需要自己来解决这个问题。如果您需要了解更多信息,请检查此url。