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

时间:2012-01-23 21:35:14

标签: asp.net

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

来源错误:

  

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

堆栈追踪:

[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

1 个答案:

答案 0 :(得分:50)

可能与this issue有关吗?建议的解决方法是在web.config中添加以下内容:

<appSettings>
    <add key="aspnet:MaxHttpCollectionKeys" value="2000" />
</appSettings>

Scott Gu也blogged关于在ASP.NET中发现的此漏洞。