.net网站报错:对象的当前状态使该操作无效

微软在2011年12月29号发布的2011年最后一个更新让哥哥为程序出现的异常头痛了一天. 这个异常在页面数据量小的时候并不会触发,只在页面数据量大的情况下才会出现,开始解决起来让人无从下手,最后才发现猫腻.

异常信息如下:

对象的当前状态使该操作无效。  
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

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

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  
堆栈跟踪:

[InvalidOperationException: 对象的当前状态使该操作无效。]
  System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() +2692482
  System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding) +61
  System.Web.HttpRequest.FillInFormCollection() +148

[HttpException (0x80004005): URL 编码窗体数据无效。]

...

问题在这里.
出现这个异常的原因正是因为上年12月29号那次微软发布的最后一次非正常更新程序引起的.在这次安全更新中对于asp.net单次的提交量做了一个最大量限制1000,出现这个异常正是因为页面提交量超过了1000这个限制.这个可以在web.config中增加参数来更改:
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
</appSettings>

--转载处:http://blog.sina.com.cn/s/blog_5375552c01016911.html

时间: 2024-10-13 23:28:35

.net网站报错:对象的当前状态使该操作无效的相关文章

异常详细信息: System.InvalidOperationException: 对象的当前状态使该操作无效 真正的解决办法

源错误: 执行当前 Web 请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息. 堆栈跟踪: [InvalidOperationException: 对象的当前状态使该操作无效.] System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded() +2692482 System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] b

网站报错Access denied for user &#39;root&#39;@&#39;localhost&#39; -问题排查续

网站报错Access denied for user 'root'@'localhost' (using password: YES) 每次的挽救办法就是: /etc/init.d/mysqld stop mysqld_safe --skip-grant-tables & 几乎每隔10分钟就出现一次,如下图,然后手动安全模式重启mysql.偶的内心好崩溃... 不得不赞阿里云的售后技术支持太给力!耐心回复我的一个个小白问题. 总结一下, 问题原因:本地授权问题 解决办法:“您目前启动到mysql

原!tomcat启动超时(打印了几行日志,后面没了。也不报错,处于启动状态,直到超时)

项目框架:spring+struts2+mybatis 今天优化代码,改了一堆mybatis dao和xml文件,启动项目时,就出现如标题描述的状况:打印了几行日志,后面就不打印了,也不报错,处于启动状态,直到超时. 首先检查是不是tomcat有问题,发现tomcat没有问题,后来感觉应该是项目代码问题,百度了一圈,发现也有碰到这种问题的  在mybatis的Mapper配置文件里配置了两个同名的ID,但是它们参数不同,结果就出现了部署时tomcat启动不了,改了启动时间也不行. 后来看了dao

mysql连接数太小,导致网站报错mysql:Too many connections

2017.9.14 一个网站上线前压力测试 网页打开报错mysql:Too many connections 一看就是mysql连接数设置过小导致的 进mysql查看连接数设置 show variables like '%max_connections%'; 只有151,怎么可以,果断决定提高到1000 PS:服务器性能可以的,哈哈 打开MySQL配置文件my.cnf添加 max_connections=1000  重启MySQL即可. 再次测试没问题咯! 方法二:命令行临时修改. set gl

新上线网站报错504

错误场景: 架构nginx+tomct 通过nginx直接访问出现504 不通过ngin页面打不开 nginx日志报错 upstram timeout相关 分析: 后端服务出现问题.(有时间再把详细情况补充上)

Windows安装IIS后,启动网站报错:不能在此路径中使用此配置节……

在IIS里启动设置好的网站(ASP.net网站),浏览器报如下错误: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 解决方法: 在安装IIS功能时,需要勾选上ASP.net相关功能.

网站报错提示

错误代码:400 400错误是由于不正确的请求造成的,说明正在搜索的网页可能已经删除.更名或暂时不可用. 错误代码:401.1 401.1错误是由于登陆失败造成的,说明没有权限查看该目录或网页. 错误代码:401.2 401.2错误是由于服务器配置问题而导致登陆失败,由于服务器端脚本未能正确发送 WWW 身份验证头文件字段.如果要通过 Active Server Pages 脚本完成此项任务,可以使用"Response"对象的"AddHeader"方法来要求客户端用

网站报错详解

问题二:如何查询访问日志? 截取深圳P2P公司--天天赢金融的访问日志来作为案例: #Software:Microsoft Internet Information Services 6.0 #Version:1.0 #Date:2015-12-02 09:00:17 #Fields:date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent)sc-statu

.Net Mvc过滤器观察者模式记录网站报错信息

基本介绍: 观察者模式是一种对象行为模式.它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.在观察者模式中,主题是通知的发布者,它发出通知时并不需要知道谁是它的观察者,可以有任意数目的观察者订阅并接收通知.观察者模式不仅被广泛应用于软件界面元素之间的交互,在业务对象之间的交互.权限管理等方面也有广泛的应用. 第一步:自定义过滤器错误类(MyExceptionFilterAttribute.cs) 1 using Sam.OA.Common;