asp.net数据量限制的解决方法
对象的当前状态使该操作无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: 对象的当前状态使该操作无效。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[InvalidOperationException: 对象的当前状态使该操作无效。]
System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +126
System.Web.HttpRequest.FillInFormCollection() +154
[HttpException (0x80004005): URL 编码窗体数据无效。]
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.2494; ASP.NET 版本:1.1.4322.2494
问题:出现这个异常的原因是因为2011年12月29号那次微软发补的更新引起的。在这次安全更新中对于asp.net单次的提交量做了一个最大量限制1000,出现这个异常正是因为页面数据量太大,提交量超过了1000这个限制。这个有两种解决办法。
第一种:在web.config中增加如下参数。
<appSettings>
<add key=”aspnet:MaxHttpCollectionKeys” value=”5000″ />
</appSettings>
第二种:把安装的补丁删掉,程序管理里将补丁kb2656358删掉,然后重启电脑,如果有360或金山卫士什么的,最好在里面忽略掉这个补丁,防止不小心再次安装。
正好解决了最近比较头痛的问题,谢谢分享
2012-08-24 下午11:06对ASP这块还真是不懂,欢迎博主回访交流,俺刚接触asp,希望能请教asp相关问题,呵呵。
2012-08-26 下午2:42不懂代码,还是C/S开发的简单。
2012-08-28 下午2:36原来还要卸载更新补丁? 害我之前碰到这个问题搞补丁,换别人电脑搞了 = =。
2012-09-09 下午3:12asp.net咱是学过几年的,陶醉中
2012-09-10 上午11:04