解决.NET Core Ajax请求后台传送参数过大请求失败问题

解决.NET Core Ajax请求后台传送参数过大请求失败问题


今天在项目上遇到一个坑,

在.Net Core中通过ajax向mvc的controller传递对象时,控制器(controller)的方法一直没有进去,百思不得其解,

后面把传递的参数打印出来发现传递的参数比较大,有2.4M的数据,如下图:

后面跟踪项目发现web.config和Startup.cs里面没有设置数据传输大小(至于默认的数据大小是多少就没深究了),

到这里就明了了,就只要在web.config和Startup.cs里面设置一下就好了,注意设置方法和.Net Formwork不同,具体操作如下:

web.config里面添加,添加位置如图:

<requestFiltering> <!-- 1GB--> <requestLimits maxAllowedContentLength="1073741822" /> </requestFiltering>

Startup.cs里面的ConfigureServices方法里面添加,添加位置如图:

/** begin xiongze 2021-03-08**************///上传文件大小限制Kestrel设置services.Configure(options =>            {

                // Set the limit to 256 MBoptions.Limits.MaxRequestBodySize =268435456;

            });

//上传文件大小限制IIS设置services.Configure(options =>            {

                // This lambda determines whether user consent for non-essential cookies is needed for a given request.options.CheckConsentNeeded = context =>true;

                options.MinimumSameSitePolicy = SameSiteMode.None;

            });

//解决文件上传Multipart body length limit 134217728 exceededservices.Configure(x =>            {

                x.ValueLengthLimit =int.MaxValue;

                x.MultipartBodyLengthLimit =int.MaxValue;

                x.MemoryBufferThreshold =int.MaxValue;

            });

            /** end xiongze 2021-03-08**************/



添加好后就可以运行了,如图,终于进控制器(controller)的方法断点了


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容