«Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: чтение тела запроса истекло из-за слишком медленного поступления данных»? - PullRequest
0 голосов
/ 25 апреля 2020

При отправке запроса PUT я сталкиваюсь со следующей проблемой, но запрос POST работает нормально.

Microsoft.AspNetCore.Server.Kestrel.Core .BadHttpRequestException: чтение тела запроса истекло из-за слишком медленного поступления данных. Смотрите MinRequestBodyDataRate. в Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException.Throw (причина RequestRejectionReason) в Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1ContentLengthMessageBody.ReadAsest. .Internal.Http.HttpRequestStream.ReadAsyncInternal (буфер Memory1, CancellationToken cancellationToken) в Microsoft.AspNetCore.WebUtilities.FileBufferingReadStream.ReadAsyn c (байт [], смещение Int32, счетчик Int32, запрет на возврат в систему). StreamHelperExtensions.DrainAsyn c (Потоковый поток, ArrayPool1 bytePool, предел Nullable`1, CancellationToken cancellationToken) в Microsoft.AspNetCore. Mvc .Formatters.NewtonsoftJsonInputFormatter.ReadRequestBodyAsyn c кодирование данных. Mvc .ModelBinding.Binders.BodyModelBinder.BindModelAsyn c (ModelBindingContext bindingContext) в корпорации Майкрософт .AspNetCore. Mvc .ModelBinding.ParameterBinder.BindModelAsyn c (ActionContext actionContext, IModelBinder modelBinder, IValueProvider valueProvider, параметр ParameterDescriptor, метаданные ModelMetadata, значение объекта) в Microsoft.AspNetCo. .d.MoveNext ()

На самом деле я обновил свой As pNet Core API с 2.2 до 3.1 перед его обновлением. работал нормально, а длина контента была в пределах 700-1800. И мой файл Program.cs выглядит следующим образом.

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}

Если для MinRequestBodyDataRate задано значение null, запрос получает больше времени и возвращает то же исключение, что и выше. Любые предложения или решения будут оценены.

...