Я столкнулся со странной проблемой с пустельгой.Я не могу загрузить несколько файлов, которые превышают MaxRequestBodySize kestrel.
Ожидаемое поведение - выбросить BadHttpRequestException при попытке чтения this.Request.Form.Files.GetFiles () .Я ожидаю получить запрос к действию контроллера только один раз.
Происходит то, что действие загрузки загружается несколько раз, и браузер выдает сообщение "conection lost".Я не нашел скороговорки о том, как много раз вызывается действие.
Действие контроллера:
[HttpPost("upload")]
public IActionResult Upload()
{
try
{
var files = this.Request.Form.Files.GetFiles("files");
files.Select(async file => await this.SaveFile(file))
return this.RedirectToAction(nameof(VueController.FilesList),"Vue");
}
catch (BadHttpRequestException exp)
{
return new string[]
{
exp.Message
};
}
}
view:
<form method="post"
enctype="multipart/form-data"
action="/api/v1/files/upload"
novalidate="novalidate">
<input type="file"
name="files"
multiple="multiple"
required="required"
accept=""
capture="capture" />
</form>
Журналы ядра asp.net:
info: Microsoft.AspNetCore.Server.Kestrel [17] Идентификатор соединения "0HLDB9K94VV9M" неверные данные запроса: "Слишком большое тело запроса".Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: тело запроса слишком велико.в Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Frame.ThrowRequestRejected (причина RequestRejectionReason) в Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.MessageBody.ForContentLength.OnReadSterSerCore (в) Microsoft.Kestrel.Core.Internal.Http.MessageBody.TryInit () в Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.MessageBody.d__24.MoveNext () --- Конец трассировки стека из предыдущего расположения, где было сгенерировано исключение--- в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) в Microsoft.AspNetCore.Server.Kestrel.Core.Internal.`tp.MoveNext () info: Microsoft.AspNetCore.Hosting.Internal.WebHost [2] Запрос завершен в 7618.6319ms 413
Отредактировано Мне известно, что я могу отключить ограничение, но это невозможнов этом случае.