Этот код:
var bytes = new ByteArrayContent(File.ReadAllBytes(targetDir + "../deploy.release.zip"));
var multiContent = new MultipartFormDataContent {{bytes, "version", "deploy.release.zip" } };
var upload = await http.PostAsync($"{host}API/files/Upload/ENG", multiContent);
работает в ASP. NET Core 2.2 через Kestrel.
После обновления до ASP. NET Core 3.1 и InProcess
модель хостинга, я получаю (для файла 40 МБ):
413 - RequestEntityTooLarge
Я уже установил requestFiltering
, но это не помогает. Мой web.config
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
Configure your application settings in appsettings.json. Learn more at https://go.microsoft.com/fwlink/?LinkId=786380
-->
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore
processPath="dotnet"
arguments=".\Web.Hosting.dll"
stdoutLogEnabled="true" stdoutLogFile="..\logs\stdout"
requestTimeout="23:00:00"
forwardWindowsAuthToken="false"
startupTimeLimit="3600"
hostingModel="InProcess">
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" />
<environmentVariable name="ASPNETCORE_HTTPS_PORT" value="50374" />
<environmentVariable name="COMPLUS_ForceENC" value="1" />
</environmentVariables>
</aspNetCore>
<security>
<requestFiltering>
<!-- Measured in Bytes 100MB -->
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
Я что-то пропустил? Поиск по inte rnet дает мне результат для WCF, старый ASP. NET ...
Я также пытаюсь добавить <serverRuntime uploadReadAheadSize="10485760" />
, но мое приложение не удалось с 500.19.
Отредактировано:
IIS распознает 100 МБ, но загрузка чего-либо более 20 МБ завершается неудачно с 413.