异常详细信息: 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 编码窗体数据无效。]
System.Web.HttpRequest.FillInFormCollection() +206
System.Web.HttpRequest.get_Form() +68
System.Web.HttpRequest.get_HasForm() +8743911
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
System.Web.UI.Page.DeterminePostBackMode() +63
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +133
[InvalidOperationException]: 对象的当前状态使该操作无效。
在 System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()
在 System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding)
在 System.Web.HttpRequest.FillInFormCollection()[HttpException]: URL 编码窗体数据无效。
在 System.Web.HttpRequest.FillInFormCollection()
在 System.Web.HttpRequest.get_Form()
在 System.Web.HttpRequest.get_HasForm()
在 System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
在 System.Web.UI.Page.DeterminePostBackMode()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
[HttpUnhandledException]: 引发类型为“System.Web.HttpUnhandledException”的异常。
在 System.Web.UI.Page.HandleError(Exception e)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest()
在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
在 System.Web.UI.Page.ProcessRequest(HttpContext context)
在 ASP.content_3csalesweb_employeesaleslistseach_aspx.ProcessRequest(HttpContext context)
位置 c:\Users\aa\AppData\Local\Temp\Temporary ASP.NET Files\web\48229cbb\2dbb4478\App_Web_mfh1pmfe.6.cs:行号 0
在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously

上述问题的解决方案如下:

ThrowIfMaxHttpCollectionKeysExceeded()
问题在这里.
出现这个异常的原因正是因为上年12月29号那次微软发布的最后一次非正常更新程序引起的.在这次安全更新中对于asp.net单次的提交量做了一个最大量限制1000,出现这个异常正是因为页面提交量超过了1000这个限制

解决办法有两种:

第一种:用分页控制页面数据呈现数据量,尽量把数据放在缓存中,用分页控制数据呈现量,每页100条数据。

第二种:这个可以在web.config中更改
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
</appSettings>

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

时间: 2024-07-29 09:49:08

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

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

微软在2011年12月29号发布的2011年最后一个更新让哥哥为程序出现的异常头痛了一天. 这个异常在页面数据量小的时候并不会触发,只在页面数据量大的情况下才会出现,开始解决起来让人无从下手,最后才发现猫腻. 异常信息如下: 对象的当前状态使该操作无效.  说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.InvalidOperationException: 对象的当前状态使该操作无效.

异常详细信息: System.Data.SqlClient.SqlException:用户 &#39;IIS APPPOOL\DefaultAppPool&#39; 登录失败解决办法

1.安全性---登录名---新建登录名 2.常规----搜索 3.添加SERVICE用户-- 4.服务器角色---勾上sysadmin: IIS中: 应用程序池---对应的程序池上右键---高级设置 进程模块---标识---选择NetworkService(与数据库中设置统一) 异常详细信息: System.Data.SqlClient.SqlException:用户 'IIS APPPOOL\DefaultAppPool' 登录失败解决办法

异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误

异常详细信息: System.Data.OleDb.OleDbException: FROM 子句语法错误,但是SQL语句单独执行没有问题,经检查发现时表名称没有加"[]",原始信息如下: SELECT UserName,UserPasswd,SiteUrl  FROM  Work  Where UserName='2012' 修改后信息如下: SELECT UserName,UserPasswd,SiteUrl  FROM  [Work]  Where UserName='2012'

异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败 解决方法

访问IIS元数据库失败 同理,给操作系统的新建用户赋予IIS操作权限同样可以采用该命令来处理 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败. 用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权.有关如何

XEN的启动信息输出到“Platform timer is 14.318MHz HPET”就暂停接收的解决办法

使用Serial Over Lan(SOL)来双机调试 XEN,在 XEN 启动时,引导信息输出到以下这一句时,就不再发送调试信息了: ...(XEN) Intel machine check reporting enabled (XEN) I/O virtualisation disabled (XEN) Enabled directed EOI with ioapic_ack_old on! (XEN) ENABLING IO-APIC IRQs (XEN) -> Using old ACK

jmail组件 对象不支持此属性或方法: &#39;JMail.ServerAddress&#39; 的解决办法

jmail组件是asp最常用的邮件发送工具,自己有一个网站,已经使用这个jmail组件有8年了,但不知道为什么在12号突然出现无法正常发送邮件的问题, 后来经过测试代码,发现IIS报的错误为:对象不支持此属性或方法: 'JMail.ServerAddress',遇到不明白的,当然就是先度娘了,百度了2天都没有发现有相同错误的案例及解决的办法, 我的代码如下: Dim JMail Set JMail=Server.CreateObject("JMail.Message") if err

异常:Error resolving template &quot;xxx&quot;, template might not exist or might not be accessible...解决办法

简单表述:控制台出现了这个异常:Error resolving template "xxx", template might not exist or might not be accessible by any of the configured Template Resolvers 解决办法:在报出这个异常的方法上添加注解@ResponseBody 讲一下个人理解:这个注解就是用来区别 方法的返回值字符串 和 视图解析器解析的页面名字字符串 的冲突的,举个例子:方法A返回的字符串s

STSDB、NDataBase 对象数据库在不同.net framework下无法读取的解决办法

STSDB.NDataBase 等对象数据库将对象保存在文件中后,如果在不同的windows平台.不同的.net frameWork下总是无法读取,原因是对象模式已经不同了. 解决的办法也很简单,就是在读写这些对象时,将使用的对象类一起封装到一个类库中,并按需在.net framework版本下编译为dll,然后在相应的工程中引用这个dll即可. 笔者在2天时间里走了很多弯路:对象在不同的工程中分别定义(当然定义得一模一样咯),总是发生在一个工程中写好的数据库,在另一工程中无法读出来的问题,哪怕

在cad中出现“代理对象不允许复制 因此写块操作被拒绝”的解决办法

网上找到的解决办法是这个 经测试,方法是有效的, 不过是要在当前打开的dwg中“编辑---复制链接”,然后在新建打开的dwg中“编辑---原坐标粘贴”后保存, 如此这般问题才全部解决,可以完美使用(command “.wblock” ........)命令... -------------------- 另附今天遇到这问题的分图层输出文件autolisp代码,抄的基础上修改的,可以新建文件夹再保存各图层文件,哈哈 (vl-load-com) ;按层存文件 明经 ZZXXQQ 2011.1.6 ,