.NET IIS 發佈 提示Bad Request (Invalid URL)解決方法

   在做URL傳參時,遇到如題的問題,引起這一原因是由於所傳參數長度大於URL默認限制的長度大小。

解決方法:

第一步,在web.config文件中的<system.web>節點下添加<httpRuntime maxQueryStringLength="2097151" maxUrlLength="2097151"/>。

第二步,在以下註冊表項下,可以創建下列 DWORD 值:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

註冊表項 默認值 有效值範圍 功能說明
 MaxFieldLength  16384  64 - 65534 (64K - 2) 字節  設置每個標頭的上限。請參見 MaxRequestBytes。它會將每個 URL 的最大字符數限制在大約 32K 左右。
 MaxRequestBytes  16384  256 - 16777216 (16MB) 字節  確定請求行和標頭的總大小的上限。
默認設置是 16KB。 如果此值小於 MaxFieldLength,則調整 MaxFieldLength 值。
 UrlSegmentMaxLength  260  0- 32,766 字符   URL 路徑段(URL 中斜槓之間的部分)中的最大字符數。如果爲零,則其長度受 ULONG 最大值的限制。

第三步,只有重新啓動 HTTP 服務,對註冊表所做的更改纔會生效。此外,可能還需要重新啓動所有相關的 IIS 服務。(或者重新啓動計算機)

要重新啓動 HTTP 服務、類型和所有相關的 IIS 服務,請按照下列步驟操作:

  1. 依次單擊“開始”、“運行”,鍵入 Cmd,然後單擊“確定”。
  2. 在命令提示符處,鍵入 net stop http,然後按 Enter。
  3. 在命令提示符處,鍵入 net start http,然後按 Enter。
  4. 在命令提示符處,鍵入 net stop iisadmin /y,然後按 Enter。

    注意:所有依賴 IIS Admin Service 服務的 IIS 服務也將停止。請記下在停止 IIS Admin Service 服務時停止的 IIS 服務。在下一步中,將需要重新啓動其中的每項服務。
  5. 重新啓動在步驟 4 中停止的 IIS 服務。爲此,請在命令提示符處鍵入 net start servicename,然後按 Enter。在該命令中,servicename 是要重新啓動的服務的名稱。例如,要重新啓動 World Wide Web Publishing Service 服務,請鍵入 net start "World Wide Web Publishing Service",然後按 Enter。

                                                                        

         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         

 

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