IIS 6 - 修改 ASP 上傳與下載檔案大小限制

介紹如何修改 IIS 6 中 ASP 網站的檔案上傳與下載大小限制。

問題

IIS 6 的 Request Entity 預設大小限制是 200 KB (204800 Byte),所以提交資料(包含POST的表單資料及檔案)時超過這個大小限制時會發生

要求物件 錯誤 ‘ASP 0104 : 80004005’
不允許的操作

輸出緩衝區大小預設限制是 4 MB (4194304 Byte),所以不管是 Response 頁面或檔案(下載檔案),只要超過限制就會發生

Response物件錯誤 ‘ASP 0251 : 80004005’
超過回應緩衝區限制

解決方法

一般來說如果是 POST 表單或 Response 頁面不太可能超過預設的限制,如果超過就只能修改 metabase.xml 的設定來放寬限制。而上傳或下載檔案就很容易超過預設限制,但這種情況我比較建議修改 ASP 程式,使用分區塊的方法上傳和下載,一次上傳或輸出一小部分資料。

本文主要是介紹調整 metabase.xml 設定的方法。

調整 metabase.xml

停止下列 IIS 相關服務

  • IIS Admin Service
  • World Wide Web Publishing Service

用文字編輯器開啟 %WINDIR%\System32\inetsrv\metabase.xml

修改上傳檔案大小限制

  • 修改 AspMaxRequestEntityAllowed,單位是 Byte,預設是 204800 (200KB),改成你想要的大小

修改下載檔案大小限制

  • 修改 AspBufferingLimit,單位是 Byte,預設是 4194304 (4MB),改成你想要的大小

啟動下列服務

  • IIS Admin Service
  • World Wide Web Publishing Service