文章編號: 327659 - 上次校閱: 2007年12月3日 - 版次: 4.2

當您使用 ASP 要求來上載大型檔案在網際網路資訊服務中的時,可能會收到 403 錯誤

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
重要 本文包含有關編輯中繼庫的資訊。編輯中繼庫之前請確認您有問題發生時,可以還原的備份複本。有關如何執行這項作業,請參閱 」 設定備份/還原 > 說明主題中 Microsoft 管理主控台 (MMC)]。
全部展開 | 全部摺疊

徵狀

當您使用的動態伺服器網頁 (ASP) 要求上載大型檔案位置安裝 Microsoft 網際網路資訊服務 (IIS) 5.0、 Microsoft 網際網路資訊服務 (IIS) 5.1 或 Microsoft 網際網路資訊服務 (IIS) 6.0,電腦上載到可能會失敗。您也可能會收到 403 錯誤回應或錯誤訊息類似下列其中一項:

錯誤訊息 1
要求物件錯誤 'ASP 0104: 80004005' 不允許作業:
錯誤訊息 2
007 ~ ASP 0104 ~ 不允許作業
當您公佈表單資料的 ASP 網頁一大堆時,可能會收到類似下列的錯誤訊息:
發生錯誤 ’ 80020009 ’ 例外狀況
此外,使用 Response.binaryWrite 方法時,可能會失敗上載檔案。

您遇到一個或多個這些徵狀即使相同的檔案上載曾在舊版的 IIS。

發生的原因

如果內容長度標頭是存在,而且內容長度標頭會指定一個大於 IIS Metabase 中 AspMaxRequestEntityAllowed 屬性的值的資料數量,就會發生這個問題。AspMaxRequestEntityAllowed 屬性之預設值為 204,800 位元組。

附註這個中繼資料庫屬性第一次已包含在 2002 年十月累積更新的 IIS。這個中繼資料庫屬性會包含在 IIS 6.0 的預設安裝中。

解決方案

警告 如果您不正確地編輯中繼庫可能會導致嚴重的問題,甚至必須重新安裝任何使用中繼庫的產品。Microsoft 無法保證可以獲得解決的問題,因此,如果您不正確地編輯中繼庫產生。編輯中繼庫,請自行負擔相關的風險。

附註 永遠中繼庫之前先備份您編輯它。

如果要解決這個問題,修改 AspMaxRequestEntityAllowed 屬性以設定 [ASP 實體主體中的 [最大允許使用的位元組數目中值的要求。要這麼做,請您執行下列步驟:
  1. 在命令提示字元輸入下列命令,,然後按下 ENTER:
    cd drive: \inetpub\adminscripts
    附註此命令,可變更資料夾,drive 就是安裝 IIS 硬碟磁碟預留位置。
  2. 在命令提示字元輸入下列命令,,然後按下 ENTER:
    cscript adsutil.vbs 設定 w3svc/ASPMaxRequestEntityAllowed size
    附註這個命令中 size 會為您想要允許之最大檔案大小上載的預留位置。最大值是 1,073,741,824 位元組。將這個值設定為最低的可能值,讓您想要的功能。
  3. 在命令提示字元輸入下列命令,,然後按下 ENTER:
    iisreset

其他相關資訊

AspMaxRequestEntityAllowed 屬性會指定所允許的位元組最大數目的 ASP 要求實體主體中。如果內容長度標頭是存在,而如果內容長度標頭指定了大於 AspMaxRequestEntityAllowed 屬性值的資料的數量 IIS 就會傳回 403 錯誤回應。[AspMaxRequestEntityAllowed 屬性僅適用於 PUT 要求,並且以 POST 要求。AspMaxRequestEntityAllowed 屬性並不會套用到 GET 要求。 因為這個 Metabase 屬性只能套用於 ASP 其他網際網路伺服器 API (ISAPI) 的擴充功能不會受到影響。

AspMaxRequestEntityAllowed 屬性 MaxRequestEntityAllowed 屬性被與在函式。不過,AspMaxRequestEntityAllowed 屬性是特定的 ASP 要求。您可以將 MaxRequestEntityAllowed 屬性設定為 1 百萬位元組 (MB) 在全球資訊網發行服務 (WWW 服務) 層級。然後,您可以將 [AspMaxRequestEntityAllowed 屬性設定為較小的值如果您知道特定的 ASP 應用程式處理較少的資料量。

?考

如需有關如何取得 IIS 在 2002 年十月累積更新的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
327696? (http://support.microsoft.com/kb/327696/ ) MS02-062: 2002 年十月累積補充程式供網際網路資訊服務
如需有關如何取得 IIS 2003 年五月累積更新的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
811114? (http://support.microsoft.com/kb/811114/ ) MS03-018: 2003 年五月累積補充程式供網際網路資訊服務

這篇文章中的資訊適用於:
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services version 5.1
  • Microsoft Internet Information Services 6.0
關鍵字:?
kbmt kbprb kbhowto KB327659 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:327659? (http://support.microsoft.com/kb/327659/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。