I have implemented an endpoint in ASP.NET Core 3.1 to retrieve a large JSON object, and I'm having an issue when this JSON starts to be relatively large. I start to have issues around 5~600KB.
For requests that have a body lower than 600~500KB, everything works fine.
The endpoint is defined like this:
[DisableRequestSizeLimit]
[RequestFormLimits(ValueCountLimit = int.MaxValue)]
[HttpPost]
[Route("MyTestEndpoint")]
public void PostTest([FromBody]object objVal)
{
    // objVal is null when the post is larger than ~5~600KB
    string body = objVal.toString;
    ....
}
web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
<system.web>
    <httpRuntime  maxRequestLength="1048576" />  
</system.web>
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\ApiSLPCalendar.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
      <security>
        <requestFiltering>
          <!-- This will handle requests up to 100MB -->
          <requestLimits maxAllowedContentLength="1048576000" />
        </requestFiltering>
      </security>    
</system.webServer>
<system.web.extensions>
       <scripting>
           <webServices>
               <jsonSerialization maxJsonLength="50000000"/>
           </webServices>
       </scripting>
</system.web.extensions>
  </location>
</configuration>
Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
            services.AddControllers().ConfigureApiBehaviorOptions(options =>
            {
                options.SuppressConsumesConstraintForFormFileParameters = true;
                options.SuppressInferBindingSourcesForParameters = true;
                options.SuppressModelStateInvalidFilter = true;
                options.SuppressMapClientErrors = true;
            });
            services.AddMvc(options =>
            {
                options.MaxModelBindingCollectionSize = int.MaxValue;
            });
            services.Configure<FormOptions>(x =>
            {
                x.ValueLengthLimit = int.MaxValue;
                x.MultipartBodyLengthLimit = int.MaxValue;
            });
....
}
Do you have any clue why this happens?
******* EDIT *******
I've tried several changes but none of them has worked fine.
Finally, following the discussion on FromBody string parameter is giving null I've modified the method, defining a model, removing the generic object, as a parameter. The front-end has been modified to send a key="value", where "Value" represents a stringified JSON object.
 
    