ASP错误:由于对象的当前状态,操作无效

bum*_*una 20 asp.net

试图在相当复杂的ASP.net页面上调试随机错误,有很多ADO.net MS-SQL,这是我开始解决问题的地方.但是到目前为止我还没能把它缩小范围.有趣的是,当我在VS中本地调试代码(针对相同的数据库连接)时,我没有收到错误.然而,当代码针对IIS运行时,它会引发以下错误.有人遇到类似的东西?

来源错误:

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

堆栈跟踪:

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

[HttpException (0x80004005): The URL-encoded form data is not valid.]
   System.Web.HttpRequest.FillInFormCollection() +11482818
   System.Web.HttpRequest.get_Form() +157
   System.Web.HttpRequest.get_HasForm() +11483620
   System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +141
   System.Web.UI.Page.DeterminePostBackMode() +100
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean  includeStagesAfterAsyncPoint) +259

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 50

它可能与这个问题有关吗?建议的解决方法是在web.config中添加以下内容:

<appSettings>
    <add key="aspnet:MaxHttpCollectionKeys" value="2000" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

Scott Gu还在博客中发现了ASP.NET中发现的这个漏洞.

  • 呃,想要那个充满控制权的巨大网格让客户满意 (4认同)
  • 投了票 - 这解决了我的问题.有趣的是,我无法在我的localhost上复制此错误,仅在我们的开发服务器上. (3认同)
  • @bumble_bee_tuna,不,这不是填充oracle.这是一个新的. (2认同)
  • 哇,ASP安全糟糕的一年,哈哈.感谢有可能让我有点头疼的洞察力.我打算作为答案,因为所有的迹象都指向了这一点.代码工作好几个月,服务器只是打补丁,非常大的复杂页面.再次感谢达林 (2认同)