在做MVC站點時(使用IIS版本為7.5),使用Get請求,當Url里查詢字元串過長時,會出現如下錯誤: 出現該錯誤的原因為:IIS7.5對於Query String有長度限制,預設為2048。 按照圖中可嘗試的操作提示,可以通過如下兩種方法來解決問題 1.在MVC站點的web.config里,<s ...
在做MVC站點時(使用IIS版本為7.5),使用Get請求,當Url里查詢字元串過長時,會出現如下錯誤:
出現該錯誤的原因為:IIS7.5對於Query String有長度限制,預設為2048。
按照圖中可嘗試的操作提示,可以通過如下兩種方法來解決問題
1.在MVC站點的web.config里,<system.webServer>節點下添加如下配置:
<security> <requestFiltering> <requestLimits maxQueryString="4080"/> </requestFiltering> </security>
2.如果你的機器有多個MVC站點,不想每個都添加該配置的話,可以在C:\Windows\System32\inetsrv\config目錄下找到applicationHost.config文件,在
<security> <requestFiltering> <requestLimits maxQueryString="4080"/> </requestFiltering> </security>
本想到可以大功告成,沒想到刷新頁面,又出現如下所示的錯誤:
解決方案如下:
<system.web> <httpRuntime maxQueryStringLength="4080"/>
</system.web>
以下為MSDN對該參數的說明:
Http請求中查詢字元串的最大長度,以字元數表示,預設值為2048。
maxQueryStringLength屬性的值可以是任何等於或者大於0的整數。如果查詢字元串的長度超過大小限制,ASP.NET返回HTTP 400(錯誤請求)狀態代碼。
修改完web.config里的這兩個地方,問題圓滿解決,本篇文章做個簡單總結,供於自己今後查閱,也希望幫助到其它同學~