.NET Core 3 和 IIS Express maxAllowedContentLength 不起作用

Teo*_*ahi 3 file-upload web-config iis-express .net-core

我有一个 JavaScript 应用程序,它将文件发布到 .NET Core 3 Web API。
Web API 项目在 IIS Express 上本地运行。

30 MB 以下的文件工作正常,但大文件无法通过。

在这里我试过了;

1-%userprofile%\my documents\iisexpress\config\applicationhost.config用新maxAllowedContentLength值更新文件。

在此处输入图片说明

2- 将RequestSizeLimit属性添加到控制器操作。

在此处输入图片说明

还有什么我在这里想念的吗?

小智 5

我遇到了同样的问题(从 .NET Core 3 开始),首先找到了解决方法,然后找到了合适的解决方案。

解决方法:在您的 web.config 文件中,使用“AspNetCoreModule”而不是“AspNetCoreModuleV2”,但您将不再受益于新模块的优势。

解决方案:将其添加到您的 startup.cs 文件中

services.Configure<IISServerOptions>(options =>
{
    options.MaxRequestBodySize = int.MaxValue; // or your desired value
});
Run Code Online (Sandbox Code Playgroud)

我在这里找到了这个信息:https : //docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1#application-configuration。IIS 选项 > 进程内托管模型,然后属性“MaxRequestBodySize”。为此,您仍然需要将 web.config 配置为如下内容:

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="2147483647" /> //or your desired value
  </requestFiltering>
</security>
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!