Microsoft KB Archive/327659

= You may receive a 403 error when you use an ASP request to upload a large file in Internet Information Services =

Article ID: 327659

Article Last Modified on 12/3/2007

-

APPLIES TO


 * Microsoft Internet Information Services 5.0
 * Microsoft Internet Information Services 5.1
 * Microsoft Internet Information Services 6.0

-



This article was previously published under Q327659





Important This article contains information about editing the metabase. Before you edit the metabase, verify that you have a backup copy that you can restore if a problem occurs. For information about how to do this, see the &quot;Configuration Backup/Restore&quot; Help topic in Microsoft Management Console (MMC).



SYMPTOMS
When you use an Active Server Pages (ASP) request to upload a large file to a computer where Microsoft Internet Information Services (IIS) 5.0, Microsoft Internet Information Services (IIS) 5.1, or Microsoft Internet Information Services (IIS) 6.0 is installed, the upload may fail. You may also receive a 403 error response or an error message that is similar to one of the following:

Error message 1

Request object error 'ASP 0104 : 80004005' Operation not Allowed :

Error message 2

007~ASP 0104~Operation not Allowed

When you post lots of form data to an ASP page, you may receive an error message that is similar to the following:

Error ’80020009’ Exception occurred

Additionally, the file upload may fail when you use the Response.binaryWrite method.

You experience one or more of these symptoms even though the same file upload worked in earlier versions of IIS.



CAUSE
This issue occurs if a Content-Length header is present and if the Content-Length header specifies an amount of data that is larger than the value of the AspMaxRequestEntityAllowed property in the IIS metabase. The default value for the AspMaxRequestEntityAllowed property is 204,800 bytes.

Note This metabase property was first included in the October 2002 cumulative update for IIS. This metabase property is included in a default installation of IIS 6.0.



RESOLUTION
Warning If you edit the metabase incorrectly, you can cause serious problems that may require you to reinstall any product that uses the metabase. Microsoft cannot guarantee that problems that result if you incorrectly edit the metabase can be solved. Edit the metabase at your own risk.

Note Always back up the metabase before you edit it.

To resolve this issue, modify the value in the AspMaxRequestEntityAllowed property to set the maximum number of bytes that are permitted in the entity body of an ASP request. To do this, follow these steps:  At a command prompt, type the following command, and then press ENTER:

cd :\inetpub\adminscripts

Note In this command to change folders,  is a placeholder for the hard disk where IIS is installed. At a command prompt, type the following command, and then press ENTER:

cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed

Note In this command,  is a placeholder for the largest file size upload that you want to allow. The maximum value is 1,073,741,824 bytes. Set this value to the lowest possible value that allows for the functionality that you want. At a command prompt, type the following command, and then press ENTER:

iisreset





MORE INFORMATION
The AspMaxRequestEntityAllowed property specifies the maximum number of bytes that are permitted in the entity body of an ASP request. If a Content-Length header is present and if the Content-Length header specifies an amount of data that is larger than the value of the AspMaxRequestEntityAllowed property, IIS returns a 403 error response. The AspMaxRequestEntityAllowed property applies only to PUT requests and to POST requests. The AspMaxRequestEntityAllowed property does not apply to GET requests. Because this metabase property applies only to ASP, other Internet Server API (ISAPI) extensions are not affected.

The AspMaxRequestEntityAllowed property is related in function to the MaxRequestEntityAllowed property. However, the AspMaxRequestEntityAllowed property is specific to ASP requests. You can set the MaxRequestEntityAllowed property to 1 megabyte (MB) at the World Wide Web Publishing Service (WWW Service) level. Then, you can set the AspMaxRequestEntityAllowed property to a smaller value if you know that your specific ASP applications handle a smaller amount of data.

