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# ASP.NET Core web.config请求筛选未覆盖applicationhost.config_C#_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# ASP.NET Core web.config请求筛选未覆盖applicationhost.config

C# ASP.NET Core web.config请求筛选未覆盖applicationhost.config,c#,asp.net-core,asp.net-core-mvc,C#,Asp.net Core,Asp.net Core Mvc,我正在尝试将大文件上载到ASP.NET Core MVC 2.1应用程序中的API控制器操作。为此,我一直在试图找出如何通过IIS Express实现这一点,这也是我通过Visual Studio运行应用程序的方式。正如所建议的,这应该可以通过向项目根目录添加一个web.config文件来实现,该文件包含以下内容: 但是,这不会产生任何影响,因为应用程序只返回HTTP错误404.13-未找到,表明请求太大。这些设置似乎被IIS锁定,因此web.config不会覆盖它们。是的,我还在控制器操作

我正在尝试将大文件上载到ASP.NET Core MVC 2.1应用程序中的API控制器操作。为此,我一直在试图找出如何通过IIS Express实现这一点,这也是我通过Visual Studio运行应用程序的方式。正如所建议的,这应该可以通过向项目根目录添加一个
web.config
文件来实现,该文件包含以下内容:


但是,这不会产生任何影响,因为应用程序只返回
HTTP错误404.13-未找到
,表明请求太大。这些设置似乎被IIS锁定,因此
web.config
不会覆盖它们。是的,我还在控制器操作上使用属性,如
[DisableFormValueModelBinding]
[DisableRequestSizeLimit]

相反,我发现它是通过在
\.vs\config
文件夹中的
applicationhost.config
中向站点添加相同的配置来工作的:


然而,这个文件并没有在GIT中被跟踪,将它添加到GIT似乎也不是一个好的解决方案


为什么不允许
web.config
覆盖
applicationhost.config
?还是有一个解决方案我还没有找到?

我有一个类似的问题,我用这个添加了一个web.config

<configuration>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- This will handle requests up to 700MB (CD700) -->
        <requestLimits maxAllowedContentLength="737280000" />
      </requestFiltering>
    </security>
  </system.webServer>][1]][1]
</configuration>

][1]][1]
发得太早了。上述解决方案适用于iis express server,但不适用于docker。然后我更新了条目

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .UseKestrel(options =>
        {
            options.Limits.MaxRequestBodySize = 100000000; //100MB
        });
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.UseKestrel(选项=>
{
options.Limits.MaxRequestBodySize=100000000;//100MB
});
然后用
[RequestSizeLimit(100\u 000\u 000)]


这些解决方案在本地和产品中为我解决。

我不知道为什么在这一定是一个非常常见的问题时没有答案。遗憾的是,我最终恢复了使用POST而不是GET,我想这更有意义。感谢您的反馈,但它似乎与我发布的配置没有任何不同,只是数量较低,这并不能解决我的问题。另外,当你在SO上提交代码时,有一个建议:请避免使用图片-我真的不能复制粘贴它。解决方案更新希望它能解决你的问题;)祝你好运