解決.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<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**************/

 

 


 

 

添加好後就可以運行了,如圖,終於進控制器(controller)的方法斷點了

 

 

歡迎關注訂閱我的微信公衆平臺【熊澤有話說】,更多好玩易學知識等你來取
作者:熊澤-學習中的苦與樂
公衆號:熊澤有話說
出處:  https://www.cnblogs.com/xiongze520/p/14500156.html
創作不易,轉載或者部分轉載、摘錄,請在文章明顯位置註明作者和原文鏈接。  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章