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

  • A+
所属分类:.NET技术
摘要

解决.NET Core Ajax请求后台传送参数过大请求失败问题   今天在项目上遇到一个坑,

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

 


 

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

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

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

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

 

 


 

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

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

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

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

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

 

 


 

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

         /** begin xiongze 2021-03-08**************/             //上传文件大小限制Kestrel设置             services.Configure<KestrelServerOptions>(options =>             {                 // Set the limit to 256 MB                 options.Limits.MaxRequestBodySize = 268435456;             });             //上传文件大小限制IIS设置              services.Configure<CookiePolicyOptions>(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 exceeded             services.Configure<FormOptions>(x =>             {                 x.ValueLengthLimit = int.MaxValue;                 x.MultipartBodyLengthLimit = int.MaxValue;                 x.MemoryBufferThreshold = int.MaxValue;             });             /** end xiongze 2021-03-08**************/

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

 

 


 

 

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

 

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

 

解决.NET Core Ajax请求后台传送参数过大请求失败问题
欢迎关注订阅我的微信公众平台【熊泽有话说】,更多好玩易学知识等你来取
作者:熊泽-学习中的苦与乐
公众号:熊泽有话说
出处:  https://www.cnblogs.com/xiongze520/p/14500156.html
创作不易,转载或者部分转载、摘录,请在文章明显位置注明作者和原文链接。