mvc中查詢字串請求過長

2022-02-24 01:39:41 字數 1568 閱讀 4857

最近在mvc中做匯出excel功能,通過頁面把字段id和對應的中文名稱通過a標籤傳給控制器的過程中,總是報錯。

1.第一次錯誤截圖

具體解決方案:

可以配置 iis 伺服器以拒絕查詢字串長度大於指定值的請求。如果請求的查詢字串大於所配置的值,便會返回此錯誤。如果需要增加查詢字串的允許長度,請修改configuration/system.webserver/security/requestfiltering/requestlimits@maxquerystring 設定。

解決方法一:

在專案的web.config裡,路徑下新增如下配置:

<

security

>

<

requestfiltering

>

<

requestlimits

maxquerystring

="4080"

/>

requestfiltering

>

security

>

其實就是更改:maxquerystring的值,預設的大小是2048,單位是位元組,最大值方文件並沒說。

解決方法二:

<

security

>

<

requestfiltering

>

<

requestlimits

maxquerystring

="4080"

/>

requestfiltering

>

security

>

對於已經設定了的,可以修改maxquerystring的大小.

但是通過以上的更改問題還是沒解決,報錯:

解決方法:

這是因為**url中的引數長度超過http請求中查詢字串的最大可能長度,通過設定配置檔案的httpruntimesection.maxquerystringlength 屬性即可解決這個問題。

開啟專案中的web.config,在節點下設定httpruntime節點的maxquerystringlength屬性,web.config中的設定如下:

查詢字串的最大長度預設值為2048,表示允許請求的字元數,最大值是2097151(但是官方文件並沒說),我們可以根據需求進行設定,不過如果引數實在太長的話最好使用post請求,太長的querystring對於url來說也不美觀。

通過以上的更改,問題得到了解決。

參考:官方文件:

查詢字串

在乙個主串中查詢相應的子串,如 abcdwoshidef 中查詢 woshi 方法 該實現的方法是最簡單的模式匹配方法,時間複雜度較高 include iostream using namespace std int searchstring const char str1,const char s...

查詢字串

qstring startwith 判斷乙個字串是否以某個字串開頭,引數 字串,大小寫敏感 qstring str welcome to you str.startswith welcome qt casesensitive 返回true str.startswith you qt casesens...

查詢字串

本身不難,寫到這裡只是乙個備忘錄的作用。假定linux系統中有乙個目錄,其中遞迴的存在若干子目錄。現在需要在這些目錄的檔案中尋找乙個字串marvel。我看到的方法是 find type f exec grep marvel 可是死活就是錯誤 find missing argument to exec...