ID do artigo: 273482 - Última revisão: terça-feira, 20 de maio de 2003 - Revisão: 2.0

PROBLEMA: Erro "Objeto de solicitação, ASP 0107 (0 x 80004005)" quando você publica um formulário

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sintomas

Quando você lança um campo de formulário grande no Microsoft Internet Information Services 5.0, você receberá a seguinte mensagem de erro:
Tipo de erro:
Objeto de solicitação, ASP 0107 (0 x 80004005)
Os dados que estão sendo processados são ultrapassa o limite permitido.
Quando você lança um campo de formulário grande no Microsoft Internet Information Server 4.0, você receberá a seguinte mensagem de erro:
Solicitar 'ASP 0107: 80004005' Erro de objeto
Estouro de pilha
/ProjectName/Page.asp, linha XX
Os dados que estão sendo processados são ultrapassa o limite permitido.

Causa

O limite de tamanho de cada campo de formulário que é recuperado no objeto de solicitação é 102,399 bytes. O erro ocorre quando você exceder esse limite.

Resolução

Para resolver esse problema, use um dos seguintes métodos:
  • Em vez de ler valores de variável com a coleção Request.Form de formulário, use Request.BinaryRead (Request.TotalBytes) e analisar os valores de formulário da saída do Request.BinaryRead .
  • Use um esquema carregamento de arquivo, como Microsoft Posting Acceptor.
  • Dividir as variáveis de formulário HTML em diversas variáveis de formulário antes de enviar o formulário. O byte 102,399 limite é para cada variável de formulário, para que você possa ter várias variáveis de formulário de 102,399 caracteres ou menos. O código de exemplo a seguir ilustra isso: Aviso : qualquer USE BY você de ao código fornecidos IN esse artigo IS AT sua OWN risco. A Microsoft fornece esse código "como estão" sem garantia de qualquer tipo, expressa ou implícita, inclusive mas não limitada às garantias implícitas de comercialização e/ou adequação a uma finalidade específica.
    <FORM method=post action=LargePost.asp name=theForm onsubmit="BreakItUp()">
    <Textarea rows=3 cols=100 name=BigTextArea>A bunch of text...</Textarea>
    <input type=submit value=go>
    </form>
    
    <SCRIPT Language=JavaScript>
    function BreakItUp()
    {
      //Set the limit for field size.
      var FormLimit = 102399
    
      //Get the value of the large input object.
      var TempVar = new String
      TempVar = document.theForm.BigTextArea.value
    
      //If the length of the object is greater than the limit, break it
      //into multiple objects.
      if (TempVar.length > FormLimit)
      {
        document.theForm.BigTextArea.value = TempVar.substr(0, FormLimit)
        TempVar = TempVar.substr(FormLimit)
    
        while (TempVar.length > 0)
        {
          var objTEXTAREA = document.createElement("TEXTAREA")
          objTEXTAREA.name = "BigTextArea"
          objTEXTAREA.value = TempVar.substr(0, FormLimit)
          document.theForm.appendChild(objTEXTAREA)
          
          TempVar = TempVar.substr(FormLimit)
        }
      }
    }
    </SCRIPT>
    						
    a página ASP (Active Server Page) recebimento reconstrói a variável:
    <%
    Dim BigTextArea
    
    For I = 1 To Request.Form("BigTextArea").Count 
      BigTextArea = BigTextArea & Request.Form("BigTextArea")(I)
    Next
    %>
    						

A informação contida neste artigo aplica-se a:
  • Microsoft Active Server Pages 4.0
Palavras-chave: 
kbmt kberrmsg kbprb KB273482 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 273482  (http://support.microsoft.com/kb/273482/en-us/ )
Retired KB ArticleAviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.