【问题标题】:Operation is not valid due to the current state of the object in asp.net 1.1由于 asp.net 1.1 中对象的当前状态,操作无效
【发布时间】:2026-02-14 21:45:02
【问题描述】:

我正在使用 aspnet 框架 1.1,但出现错误

Operation is not valid due to the current state of the object.

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.InvalidOperationException:由于对象的当前状态,操作无效。

来源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[InvalidOperationException: Operation is not valid due to the current state of the object.]
System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +126
System.Web.HttpRequest.FillInFormCollection() +154

[HttpException (0x80004005): The URL-encoded form data is not valid.]
System.Web.HttpRequest.FillInFormCollection() +213
System.Web.HttpRequest.get_Form() +50
System.Web.UI.Page.GetCollectionBasedOnMethod() +70
System.Web.UI.Page.DeterminePostBackMode() +128
System.Web.UI.Page.ProcessRequestMain() +63

版本信息:Microsoft .NET Framework 版本:1.1.4322.2490; ASP.NET 版本:1.1.4322.2494


我尝试添加

<add key="aspnet:MaxHttpCollectionKeys" value="10000" />

但它仍然抛出同样的错误。

谁能建议我解决这个问题?

问候, 穆尔蒂

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    用 Fiddler 检查请求。

    错误是:

    [HttpException (0x80004005): The URL-encoded form data is not valid.]
    

    所以你的表单数据以某种方式被破坏了。

    【讨论】:

      【解决方案2】:

      将该行添加到 Web.Config 仅适用于 .NET 2.0 及更高版本。对于 1.1,您需要更改注册表设置、键的值

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\1.1.4322.0\MaxHttpCollectionKeys
      

      【讨论】: