Erro 403 ao carregar um arquivo grande usando solicitação ASP nos Serviços de Informações da Internet

Este artigo ajuda você a resolve o problema que ocorre quando você usa uma solicitação do Active Server Pages para carregar um arquivo grande em um computador em que o IIS (Internet Information Services) 8.0 ou versão posterior está instalado.

Versão original do produto: Serviços de Informações da Internet
Número de KB original: 327659

Sintomas

Importante

Este artigo contém informações sobre como editar a metabase. Antes de editar a metabase, verifique se você tem uma cópia de backup que pode restaurar se ocorrer um problema. Para obter informações sobre como fazer isso, consulte o tópico Ajuda de Backup/Restauração de Configuração no MMC (Console de Gerenciamento da Microsoft).

Quando você usa uma solicitação ASP (Active Server Pages) para carregar um arquivo grande em um computador em que o IIS (Serviços de Informações da Internet) 8.0 ou versão posterior está instalado, o upload pode falhar. Você também pode receber uma resposta de erro 403 ou uma mensagem de erro semelhante a uma das seguintes:

  • Mensagem de erro 1

    Erro de objeto de solicitação 'ASP 0104 : 80004005' Operação não permitida

  • Mensagem de erro 2

    007~ASP 0104~Operação não Permitida

  • Ao postar muitos dados de formulário em uma página ASP, você poderá receber uma mensagem de erro semelhante à seguinte:

    Erro '80020009' Exceção ocorreu

Além disso, o upload do arquivo pode falhar quando você usa o Response.binaryWrite método.

Você experimenta um ou mais desses sintomas, embora o mesmo upload de arquivo tenha funcionado em versões anteriores do IIS.

Motivo

Esse problema ocorrerá se um Content-Length cabeçalho estiver presente e se o Content-Length cabeçalho especificar uma quantidade de dados maior que o valor da AspMaxRequestEntityAllowed propriedade na metabase do IIS. O valor padrão da AspMaxRequestEntityAllowed propriedade é 204.800 bytes.

Observação

Essa propriedade metabase foi incluída pela primeira vez na atualização cumulativa de outubro de 2002 para IIS. Essa propriedade metabase está incluída em uma instalação padrão do IIS 8.0 ou versões posteriores.

Resolução

Aviso

Se você editar a metabase incorretamente, poderá causar sérios problemas que podem exigir que você reinstale qualquer produto que use a metabase. A Microsoft não pode garantir que problemas resultantes se você editar incorretamente a metabase puder ser resolvido. Edite a metabase por sua conta e risco.

Observação

Sempre faça backup da metabase antes de editá-la.

Para resolve esse problema, modifique o valor na AspMaxRequestEntityAllowed propriedade para definir o número máximo de bytes permitidos no corpo da entidade de uma solicitação ASP. Para fazer isso, siga estas etapas:

  1. Em um prompt de comando, digite cd drive :\inetpub\adminscriptse pressione ENTER.

    Observação

    Neste comando para alterar pastas, a unidade é um espaço reservado para o disco rígido em que o IIS está instalado.

  2. Em um prompt de comando, digite o comando cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed sizee pressione ENTER.

    Observação

    Neste comando, o tamanho é um espaço reservado para o maior carregamento de tamanho de arquivo que você deseja permitir. O valor máximo é 1.073.741.824 bytes. Defina esse valor como o valor mais baixo possível que permite a funcionalidade desejada.

  3. Em um prompt de comando, digite o comando iisresete pressione ENTER.

Mais informações

A AspMaxRequestEntityAllowed propriedade especifica o número máximo de bytes permitidos no corpo da entidade de uma solicitação ASP. Se um Content-Length cabeçalho estiver presente e se o Content-Length cabeçalho especificar uma quantidade de dados maior que o valor da propriedade, o AspMaxRequestEntityAllowed IIS retornará uma resposta de erro de 403. A AspMaxRequestEntityAllowed propriedade se aplica apenas às PUT solicitações e às POST solicitações. A AspMaxRequestEntityAllowed propriedade não se aplica a GET solicitações. Como essa propriedade metabase se aplica apenas ao ASP, outras extensões de ISAPI (API do Servidor de Internet) não são afetadas.

A AspMaxRequestEntityAllowed propriedade está relacionada na função à MaxRequestEntityAllowed propriedade. No entanto, a AspMaxRequestEntityAllowed propriedade é específica para solicitações ASP. Você pode definir a MaxRequestEntityAllowed propriedade como 1 megabyte (MB) no nível do Serviço de Publicação Web (SERVIÇO WWW) em todo o mundo. Em seguida, você pode definir a AspMaxRequestEntityAllowed propriedade como um valor menor se souber que seus aplicativos ASP específicos lidam com uma quantidade menor de dados.