文章编号: 273482 - 最后修改: 2003年5月20日 - 修订: 2.0

PRB: 错误"请求对象,ASP 0107 (0x80004005)"时,发布表单

展开全部 | 关闭全部

症状

过帐大窗体域中 Microsoft Internet Information Services 5.0 时, 您可能会收到以下错误消息:
类型时出错:
请求对象 ASP 0107 (0x80004005)
正在处理的数据是超过允许的极限。
过帐大窗体域中 Microsoft Internet 信息服务器 4.0 时, 您可能会收到以下错误消息:
请求对象错误 'ASP 0107: 80004005
堆栈溢出
/projectname/page.asp,行 XX
正在处理的数据是超过允许的极限。

原因

申请 对象中检索每个窗体字段的大小限制是 102,399 的字节数。 超过此限制时,将发生此错误。

解决方案

若要解决此问题,使用下列方法之一:
  • 而不是读取窗体变量的值与 Request.Form 集合,使用 Request.BinaryRead (Request.TotalBytes),和分析 Request.BinaryRead 的输出中的窗体值。
  • 使用一个文件上载方案如 Microsoft 投递接受者。
  • 提交表单之前,HTML 窗体变量分成多个窗体变量。 102,399 的字节的限制是为每个窗体变量以便可以有多个窗体变量的 102,399 的字符或更少。 下面的代码示例阐释这一点: 警告: 任何 USE BY 您的代码提供 IN 这凤 IS AT 您自己风险。 Microsoft 提供原版"此代码没有任何明示或暗示包括但不是限于适销性和/或针对特定用途的适用性的暗示保证任何种类的担保。
    <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>
    						
    接收方的活动服务器页面 (ASP) 页重新构造该变量:
    <%
    Dim BigTextArea
    
    For I = 1 To Request.Form("BigTextArea").Count 
      BigTextArea = BigTextArea & Request.Form("BigTextArea")(I)
    Next
    %>
    						

这篇文章中的信息适用于:
  • Microsoft Active Server Pages 4.0
关键字:?
kbmt kberrmsg kbprb KB273482 KbMtzh
机器翻译机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 273482? (http://support.microsoft.com/kb/273482/en-us/ )
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
Retired KB Article不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。
 

文章翻译