.Net Core Kestrel遇到JSON数据的GET限制

kr98yfug  于 2022-12-20  发布在  .NET
关注(0)|答案(1)|浏览(193)

我正忙碌调整.Net Core Kestrel应用程序的限制,以允许通过GET请求发送大量JSON数据。

builder.UseKestrel(options => {
    int oneByte = 1048576;
    options.Limits.MaxRequestLineSize = (4 * oneByte);
    options.Limits.MaxRequestBufferSize = (4 * oneByte);
    options.Limits.MaxResponseBufferSize = (4 * oneByte);
    options.Limits.MaxRequestBodySize = (10 * oneByte);
});

所以我已经把几乎所有的东西都设置为4MB的限制(除了MaxRequestBodySize),但是我仍然达到了大约2.1MB的JSON数据的限制。我知道在GET请求中使用如此大量的JSON数据是不正常的,但是为什么当它低于我的4MB阈值时仍然受到限制呢?
有没有可能是JSON数据中属性的数量而不是大小受到了限制?有没有办法增加这个限制?

6ljaweal

6ljaweal1#

最后,将这些设置包含在服务配置中,才能使其正常工作

public void ConfigureServices(IServiceCollection services) {

    services.Configure<FormOptions>(options => {
        options.ValueCountLimit = int.MaxValue;
        options.ValueLengthLimit = int.MaxValue;
        options.MultipartBodyLengthLimit = int.MaxValue;
        options.MultipartHeadersCountLimit = int.MaxValue;
        options.MultipartHeadersLengthLimit = int.MaxValue;
    });

}

相关问题