web項目中,get方式傳值是通過位址欄中的url參數進行傳遞的。除了浏覽器對url長度的限制大小不一之外,出于安全考慮,
IIS中對于URL中參數大小也是有限制的,預設為2048KB。
如果參數大于這個數字的話,我們應該手動的去重置該值。
對于frameword4.0做如下設定:
在web.config檔案中找到Httpruntime節點,做如下修改:
其中maxQueryStringLength的值即為重置的新值。
<httpRuntime requestValidationMode="3.0" maxQueryStringLength="10240"></httpRuntime>
更新上面的代碼後,在本地調試已經沒有問題了,但是站點釋出後,還是會出現同樣的錯誤。
錯誤原因就是沒有設定iis安全配置資訊
接下來,應繼續在web.config檔案中找到system.webServer節點,做如下設定:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxQueryString="10240"></requestLimits>
</requestFiltering>
</security>
</system.webServer>
其中security中的設定,就是在此指定IIS中允許url傳值的大小。