解決.NET Core Ajax請求后臺傳送參數(shù)過大請求失敗問題
今天在項目上遇到一個坑爷光,
在.Net Core中通過ajax向mvc的controller傳遞對象時,控制器(controller)的方法一直沒有進去荡澎,百思不得其解,
后面把傳遞的參數(shù)打印出來發(fā)現(xiàn)傳遞的參數(shù)比較大单芜,有2.4M的數(shù)據(jù)沐绒,如下圖:
后面跟蹤項目發(fā)現(xiàn)web.config和Startup.cs里面沒有設(shè)置數(shù)據(jù)傳輸大小(至于默認的數(shù)據(jù)大小是多少就沒深究了)川梅,
到這里就明了了疯兼,就只要在web.config和Startup.cs里面設(shè)置一下就好了,注意設(shè)置方法和.Net Formwork不同挑势,具體操作如下:
web.config里面添加镇防,添加位置如圖:
<requestFiltering> <!-- 1GB--> <requestLimits maxAllowedContentLength="1073741822" /> </requestFiltering>
Startup.cs里面的ConfigureServices方法里面添加,添加位置如圖:
/** begin xiongze 2021-03-08**************///上傳文件大小限制Kestrel設(shè)置services.Configure(options =>? ? ? ? ? ? {
? ? ? ? ? ? ? ? // Set the limit to 256 MBoptions.Limits.MaxRequestBodySize =268435456;
? ? ? ? ? ? });
//上傳文件大小限制IIS設(shè)置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)的方法斷點了